-
Notifications
You must be signed in to change notification settings - Fork 62
Expand file tree
/
Copy pathCHANGES
More file actions
4097 lines (2801 loc) · 140 KB
/
Copy pathCHANGES
File metadata and controls
4097 lines (2801 loc) · 140 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
History of Daikon changes
http://plse.cs.washington.edu/daikon/
This file lists significant user-visible changes to Daikon.
(Many other changes, including most bug fixes, are not noted here.)
Further documentation can be found in:
* the Daikon Manual. Its source is file daikon.texinfo; formatted, it
appears as daikon.html or daikon.pdf.
It is available on-line at:
http://plse.cs.washington.edu/daikon/download/doc/daikon.html .
* the Daikon Developer Manual. Its source is file developer.texinfo;
formatted, it appears as developer.html or developer.pdf.
It is available on-line at:
http://plse.cs.washington.edu/daikon/download/doc/developer.html .
* The Javadoc API documentation for the source code. This is not
distributed with Daikon, but you can build it by executing the command
make -C $DAIKONDIR/java javadoc
It is also available at http://plse.cs.washington.edu/daikon/download/api/ .
===========================================================================
Chicory:
- We now instrument exceptional exits. That means that Daikon is able
to infer invariants about when a Java method throws an exception.
===========================================================================
5.6.8 (?, ?, 2018)
Daikon no longer uses the plume-lib repository, but smaller ones such as
plume-scripts.
===========================================================================
5.6.6 (July 2, 2018)
DynComp:
- Fix issue #129 - Too many parameters for an annotation method.
Fjalar/Kvasir:
- Fix issue #27 - Incorrect categorization of some SIMD instructions.
===========================================================================
5.6.4 (April 3, 2018)
Eliminate reliance on plume.jar file, in favor of smaller libraries
(checklink, html-tools, options, plume-util, etc.).
Fjalar/Kvasir:
- We updated the underlying Binutils infrastructure to version 2.30.
The --wrap_xml command-line option now produces valid XML.
===========================================================================
5.6.2 (February 2, 2018)
It is no longer necessary to set the DAIKONDIR environment variable when
using or building Daikon.
Fjalar/Kvasir:
- We updated the underlying Valgrind infrastructure to version 3.13.0.
- We updated the underlying Binutils infrastructure to version 2.29.1.
- Improved Ubuntu 17.10 support.
===========================================================================
5.6.0 (December 4, 2017)
Support was added for Ubuntu 17.10. Please see User Guide notes about using
the -no-pie option on gcc.
DynComp:
- Fixed a few DynComp bugs.
===========================================================================
5.5.14 (October 3, 2017)
Chicory:
- Fixed a couple of Chicory bugs.
Updated our internal version of BCEL to match Apache version 6.1.
Daikon will fail if some other version of BCEL is found first on the classpath.
===========================================================================
5.5.12 (September 5, 2017)
Chicory:
- Improve support for programs with multiple threads.
Fjalar/Kvasir:
- We updated the underlying Binutils infrastructure to version 2.28.1.
- Fix issue #10
===========================================================================
5.5.10 (July 4, 2017)
Chicory and DynComp:
- Refactored some instrumentation code. Includes a few bug fixes.
===========================================================================
5.5.8 (June 2, 2017)
DynComp:
- Fixed a few DynComp bugs.
===========================================================================
5.5.6 (May 2, 2017)
DynComp:
- Fixed a few DynComp bugs.
Kvasir:
- We updated the underlying Binutils infrastructure to version 2.27.0.
===========================================================================
5.5.4 (April 3, 2017)
DynComp and Chicory:
- Improve support for programs with multiple threads.
- Improve support for older (Java5) class files.
Kvasir:
- We updated the underlying Valgrind infrastructure to version 3.12.0.
===========================================================================
5.5.2 (March 1, 2017)
DynComp:
- Fixed several issues related to StackMaps.
- Made several performance improvements.
Chicory:
- Allow for a ConcurrentModificationException when attempting to get the
contents of a subList.
Updated our internal version of BCEL as part of StackMap fix.
===========================================================================
5.5.0 (February 1, 2017)
Kvasir:
- The option --with-dyncomp has been changed to --dyncomp and is now the default.
Use --no-dyncomp to not run the DynComp portion of Kvasir.
- Clarified instructions for building the sample Fjalar tool.
DynComp:
- The --compare-sets-file option has been renamed to --comparability-file.
- The --trace-sets-file option has been renamed to --trace-file.
- The --no-cset-file option has been removed, this is now the default.
- The --no-jdk option has been removed, use --rt-file=NONE instead.
Documentation:
- Improved discussion of DynComp and comparability sets.
===========================================================================
5.4.6 (January 3, 2017)
The changes in this release reflect an increased emphasis on using the
DynComp tool for both Java and C/C++.
Daikon:
- Several improvements to the DynComp for Java tool, including:
- support for multi-threaded programs
- improved support for user programs that throw exceptions
- recover gracefully from methods too large to instrument
Documentation:
- Simplified and improved the Installation chapter of the User Guide.
- Modified the Example usage chapter of the User Guide to more accurately
describe the tool options and expected outputs.
===========================================================================
5.4.4 (December 2, 2016)
- Fixed calculation of a class's fields to include fields of its superclass(es).
- Corrected files included in daikon.tar to support building the documents.
- Corrected behavior of the calc_possible_invs configuration option.
===========================================================================
5.4.2 (November 3, 2016)
Fixed numerous DynComp bugs.
===========================================================================
5.4.0 (October 4, 2016)
daikon.jar now includes Apache Commons BCEL 6.0; previously it used a
locally-modified version of BCEL. We have removed the "--default-bcel"
command-line option; Daikon will fail if some other version of BCEL is
found on the classpath.
===========================================================================
5.3.10 (September 1, 2016)
A new front end for LLVM is available.
See https://github.com/markus-kusano/udon.
You can use it with any program that can be compiled to LLVM.
Chicory command-line argument --instrument-clinit causes Chicory to output
empty dtrace records when static initializers are entered and exited. This
is useful for clients that use Chicory to trace method entry and exit.
Daikon does stricter checking of its input files. Older versions of Kvasir
and Chicory create invalid .decls or .dtrace files, which Daikon now
rejects. If this happens, re-run the front end to create new, correct files.
Updated the Binutils-based code in Fjalar/Kvasir to v2.26.1.
There should be no user-visible differences in the behavior of Kvasir.
Several options to the Kvasir DynComp feature (--with-dyncomp) were renamed
to be more consistent:
--gc-num-tags => --dyncomp-gc-num-tags
--no-dyncomp-gc => --dyncomp-gc-num-tags=0
--dyncomp-fast-mode => --dyncomp-approximate-literals
--separate-entry-exit-comp => --dyncomp-separate-entry-exit
--dyncomp-dataflow-only => --dyncomp-interactions=none
--dyncomp-dataflow-comp => --dyncomp-interactions=comparisons
--dyncomp-units => --dyncomp-interactions=units
[new option; is the default] => --dyncomp-interactions=all
===========================================================================
5.3.8 (August 1, 2016)
Improved portability:
* support g++ 6.1
* support Fedora 23
* support newer version of jdk8
Miscellaneous bug fixes and minor improvements.
===========================================================================
5.3.6 (July 5, 2016)
A new front end for Simulink/Stateflow (SLSF) block diagrams is available.
See https://bitbucket.org/verivital/hynger .
Fjalar/Kvasir:
- DynComp has been modified to improve its accuracy and correct its
garbage collection routine.
===========================================================================
5.3.4 (June 1, 2016)
Miscellaneous bug fixes and minor improvements.
===========================================================================
5.3.2 (May 2, 2016)
Daikon:
- Command-line argument --user-defined-invariant makes Daikon compute a
user-defined invariant in addition to those that are built in to Daikon.
- Command-line argument --disable-all-invariants disables all of Daikon's
built-in invariants. Subsequent command-line options may enable some of
them.
Fjalar/Kvasir:
- Minor changes to support Scientific Linux.
Documentation:
- Improved the discussion in the Troubleshooting chapter of the User Guide
on how to respond to "Could not find or load main class."
===========================================================================
5.3.0 (April 5, 2016)
Daikon:
- We have improved splitter processing. Splitter expressions containing
'orig' now work correctly. Also, A splitter expression containing
references to a parameter and an unqualified member variable with the
name will now work correctly.
Kvasir:
- We updated the underlying Valgrind infrastructure to version 3.11.0.
Users of Kvasir to analyze C/C++ codes should not see any differences
in behavior from the previous version.
Documentation:
- Improved discussion of program points.
We have decided to deprecate support for 32-bit hosts.
- Fjalar/Kvasir, the C/C++ front end for Daikon, no longer builds on a 32-bit
platform and we will no longer support the 32-bit version of this tool.
- At the present time, Chicory and Daikon continue to build and run on a
32-bit platform, but we have stopped testing this configuration and make
no guarantees for the future.
===========================================================================
5.2.26 (March 10, 2016)
This is an update to 5.2.24 to correct a small problem in Chicory. It was
inadvertently adding extra information to its output files. This did not
cause Daikon to operate incorrectly. It only made the data files larger
than necessary.
===========================================================================
5.2.24 (March 4, 2016)
Documentation:
- Added more examples of invariants.
- Improved instructions on building Daikon and Kvasir.
===========================================================================
5.2.22 (February 1, 2016)
We have updated the Daikon tool set to include a newer version of BCEL.
If Chicory throws an error such as the following:
"BCEL must be in the classpath. Normally it is found in daikon.jar."
Then the problem is most likely that your classpath contains a previous
version of daikon.jar or plume.jar.
===========================================================================
5.2.20 (January 5, 2016)
Documentation:
- Improved instructions on building Daikon and Kvasir.
===========================================================================
5.2.18 (December 5, 2015)
Daikon:
- Avoid ConcurrentModificationException in the FileIOProgress thread.
- Makefile in distribution is now the same as in a cloned repository.
Kvasir:
- Eliminated OS-specific regression test failures.
Documentation:
- New manual section "Detecting invariants when running a Java program from
a jar file"
- Restructured developer manual section "Requirements for compiling Daikon"
Distribution:
- The distribution contains new directories doc/www, java/jtb, and java/lib,
which makes the directory layout more like the repository's.
===========================================================================
5.2.16 (November 2, 2015)
Chicory:
- Improved handling of Java code containing synchronized locks.
- Improved handling of Java initialization methods containing calls
to other initialization methods.
Daikon:
- The --shiny-print option was renamed --abridged-vars to match the
documentation.
Kvasir:
- We made some changes to the DynComp tool to improve the accuracy of the
comparability information. Occasionally, the system loader was causing
unrelated items to be placed in the same comparability set.
===========================================================================
5.2.14 (October 5, 2015)
Daikon:
We have improved splitter verification testing.
Documentation:
Improved discussion of splitters
===========================================================================
5.2.12 (September 3, 2015)
Daikon:
We have improved splitter file processing.
Documentation:
Improved discussion of splitters
===========================================================================
5.2.10 (August 4, 2015)
Chicory:
- Modified generation of comparability values when using input from DynComp
.decls file via --comparability-file option. When the resulting .dtrace
file is fed to Daikon, the number of uninteresting invariants is reduced.
DynComp:
- Correctly identify methods that are in the Java SE Development Kit (JDK).
- Fix problems with non-local field access.
- Fix problems with use of some javax classes.
LogicalCompare:
- The "debug-all" option has been changed to "debug" to be consistent with
the other Daikon tools.
Changes relevant to building from source:
- Now support gcc 5.1.1 and Fedora 22.
===========================================================================
5.2.8 (July 1, 2015)
The Daikon and Fjalar version control repositories have moved from Google
Code to GitHub, and from the Mercurial version control system to Git. You
should not use any old clone of the Mercurial repositories. You can obtain
the new version control repositories by running:
git clone https://github.com/codespecs/daikon.git
git clone https://github.com/codespecs/fjalar.git
The location of the Celeriac front end has changed:
https://github.com/codespecs/daikon-dot-net-front-end
The Daikon .tar and .zip release file names now include the version number;
e.g., daikon-5.2.8.zip instead of daikon.zip. The same renaming is true
of the top-level directory within these archive files.
Documentation:
- The developer manual has an improved discussion of comparability values.
- Developer manual section A.5, "Example files", has been updated.
- The user manual has an improved discussion of mixed .decls and .dtrace
files. This includes some clarification of how to use the output(s) of
Chicory and DynComp with Daikon.
- Improved formatting of Javadoc.
===========================================================================
5.2.6 (June 2, 2015)
Daikon:
Changed default value of --suppressSplitterErrors command-line option to true.
Chicory:
Improved support for nested classes. When processing an object of inner
class type, Chicory outputs outer class fields just like inner class fields.
DynComp:
Fixed a problem with DynComp not working properly with JDK 8.
Changes relevant to building from source:
The plume-lib library's version control repository has moved.
If you are currently building Daikon from a clone of our repository, run:
cd $DAIKONDIR
hg pull -u
rm -rf $DAIKONDIR/plume-lib
make -C $DAIKONDIR compile
===========================================================================
5.2.4 (May 1, 2015)
Tools that process invariant files:
Fixed a problem with Annotate and improved its output
The parser used by several tools (Annotate and RuntimeChecker, for example)
has been improved to understand the 'diamond operator' ("<>") used for
type inference in generic instance creation.
Documentation:
Improved discussion of splitters
The location of the Celeriac front end has changed:
https://github.com/melonhead901/daikon-dot-net-front-end
===========================================================================
5.2.2 (April 10, 2015)
Tools that process invariant files:
Renamed LogicalCompare program's --cfg command-line argument to
--config_option, for consistency with other programs in the Daikon suite.
Improved the documentation for the Daikon runtimechecker tool.
Kvasir C/C++ front end:
Fixed a problem with creating pointer type disambiguation files when
using the --disambig and --disambig-file options to Kvasir.
Updated the Binutils-based code in Fjalar/Kvasir from v2.24 to v2.25.
There should be no user-visible differences in the behavior of Kvasir.
Removed documentation for the galar front-end tool as it is no longer
supported.
Bug fixes:
Fixed an intermittently occurring problem in Chicory with instrumenting
Java methods containing a switch.
Fixed several Daikon issues:
#18: runtimechecker should not instrument abstract classes
#19: runtimechecker parser problem with ">" characters
#20: runtimechecker problem with 'Is power of 2'
#22: runtimechecker fails on inner classes with multiple constructors
#23: runtimechecker crashes when foreach variable has a final modifier
===========================================================================
5.2.0 (March 3, 2015)
We updated the underlying Valgrind infrastructure to version 3.10.1
(build 14784). Users of Kvasir to analyze C/C++ codes should not see
any differences in behavior from the previous version.
We made various improvements to the documentation.
===========================================================================
5.1.16 (February 2, 2015)
Splitters now properly support unqualified member variables within
.spinfo files.
Fjalar support improved for C++ static const items. (For more information,
see Daikon issue #37: https://github.com/codespecs/daikon/issues/37.)
Updated bcel.jar (within plume.jar) for some minor improvements in
JDK 8 support.
===========================================================================
5.1.14 (December 22, 2014)
Fjalar now builds correctly on Ubuntu 14.10.
Improved installation instructions.
Improved documentation on Simplify tool.
Chicory and DynComp now support Java/JDK 8. (tested with 1.8.0-b129)
===========================================================================
5.1.12 (December 2, 2014)
Celeriac, Daikon's front end for .NET programs, works under Mono.
See https://github.com/codespecs/daikon-dot-net-front-end .
The declaration file format supports five new variable-info fields:
min-value
max-value
min-length
max-length
valid-values
These specify what possible values may appear in the trace file, and they
enable Daikon to suppress invariants that are obvious due to, for example,
programming language limitations on the values for a particular type.
Thanks to Antonio Garcia Dominguez for contributing this feature.
The Daikon installation tests now pass when the current locale is not en_US.
We have fixed bugs in Daikon splitter file processing. For example, a
splitter condition can now reference a local variable and a global
variable with the same name. (The global variable, of course, requires a
class name prefix.)
If you work from a clone of the repository, as opposed to downloading the
Daikon release, then there needs to be a symbolic link named 'fjalar'
from the Daikon clone to the Fjalar clone. After this change, you need to
regenerate the fjalar Makefiles.
To accomplish all of this, run the following commands:
cd $DAIKONDIR
rm -f kvasir # remove old link
ln -s ../fjalar fjalar
cd $DAIKONDIR/fjalar/valgrind
./autogen.sh
./configure --prefix=`pwd`/inst
===========================================================================
5.1.10 (October 31, 2014)
We have fixed some problems in Kvasir with C++ code. We now correctly
support unnamed parameters and subclasses that add no additional data
members.
We have modified the output of txt-cset and txt-trace so that the
invariants detected match those of the decls-DynComp output.
We have improved Daikon splitter file processing. In particular, the
handling of arrays has been improved.
Daikon will now build on Macs with a non-gcc C++ preprocessor.
We have added a section to the documentation on how to write your
own tool to manipulate a .dtrace file.
The manual contains a link to Takuan, a Daikon front end for WS-BPEL
tool process definitions.
===========================================================================
5.1.8 (September 30, 2014)
A large number of small corrections were made to the Javadoc annotations
in the Daikon source tree. This will most often manifest in the HTML
documentation as supplying information that was previously missing.
We have fixed a problem in Kvasir with C++ static members. This should
provide more accurate invariants in these cases.
We have fixed a problem in DynComp with lambda expressions in Java 8
programs. Previously, this syntax would cause a program fault.
===========================================================================
5.1.6 (August 29, 2014)
A section has been added to the Daikon User Manual describing how to
deal with a "duplicate class definition error" when running Chicory.
We have fixed a problem (Daikon issue #33) that would cause Chicory to
crash on input of the form:
private static final Boolean name = false;
===========================================================================
5.1.4 (July 31, 2014)
Improved StackMap support.
- for <init> methods
- for BASTORE instruction
Improved Kvasir (C/C++ Daikon front end) support for 32bit hosts.
===========================================================================
5.1.2 (June 30, 2014)
Improved StackMap support.
- Both Daikon and DynComp can now process a wider variety of Java 7
generated StackMaps.
Documentation updates and cleanup.
- Added material on CSharpContracts; usage and copyright.
===========================================================================
5.1.0 (May 30, 2014)
Daikon can now infer code contracts for .NET programs, such as C# programs.
You will require the Celeriac front end:
https://github.com/codespecs/daikon-dot-net-front-end
In the past, when using Celeriac, you were required to use a special version
of Daikon; now you should just use the regular version of Daikon.
DynComp for Java now works with Java 7. Chicory already worked with Java 7,
but the DynComp component did not work with Java 7 until this release.
(This is the fix for Daikon issue #24.)
===========================================================================
5.0.8 (May 2, 2014)
General:
We have modified the directory layout relationship between Daikon
and Fjalar/Kvasir. If you acquire Daikon and Fjalar via their Mercurial
repositories, you need to perform the following steps to adjust a symbolic
link. (If you download daikon.zip or daikon.tar.gz from the Daikon
distribution site, you are not affected.) For repository users, perform
the following steps:
cd $DAIKONDIR
make -C kvasir uninstall distclean
rm kvasir
<hg fetch of the latest daikon and fjalar files>
cd $DAIKONDIR
ln -nsf ../fjalar kvasir // replace "fjalar" with your repository name, if different
make kvasir
Daikon:
This release contains fixes for Daikon issues #10, 29 and 30. See:
https://github.com/codespecs/daikon/issues/10
https://github.com/codespecs/daikon/issues/29
https://github.com/codespecs/daikon/issues/30
Fjalar:
No significant content changes were made.
Documentation:
No significant content changes were made.
===========================================================================
5.0.6 (March 28, 2014)
Daikon:
This release contains a fix for Daikon issue #28. See:
https://github.com/codespecs/daikon/issues/28
Fjalar:
We updated our object code reader to match version 2.24 of the GNU binutils.
Updated the source copyrights.
Added two more regressions tests.
Fixed Daikon issue #28.
Users of Kvasir to analyze C/C++ codes should not see
any differences in behavior from the previous version.
Documentation:
Lots of changes to correct spelling and .texinfo tag usage.
No significant content changes were made.
===========================================================================
5.0.4 (February 28, 2014)
Daikon:
This release contains a fix for Daikon issue #27. See:
https://github.com/codespecs/daikon/issues/27
Fjalar:
We updated the underlying Valgrind infrastructure to version 3.9.0
(build 13710). In addition, we cleaned up our sources so that there
are no compiler warnings when building Valgrind/Fjalar/Kvasir.
As Fjalar is based on the Valgrind tool "memcheck", we have seen one
new memory usage error when running our tests. Other than this slim
possibility, users of Kvasir to analyze C/C++ codes should not see
any differences in behavior from the previous version.
Documentation:
We no longer distribute PostScript formatted versions of the documentation.
===========================================================================
5.0.2 (January 31, 2014)
General
Improved documentation and installation script for Cygwin.
Added corrected version of inv-cvs to new drop site.
Several documentation improvements.
Documentation
Fixed broken links between the two daikon documents.
Updated some URLS to change MIT => UW.
Clarified that you must use Java version 7.
Removed documentation on Csh in favor of Bash.
Improved pdf output - now includes bookmarks and hyper-links.
Added split html document versions to drop.
Improved General Index(s).
===========================================================================
5.0.0 (January 3, 2014)
Highlights:
Celeriac is a new front end for .NET languages (C#, F#, and Visual Basic).
The Kvasir front end for C works with current Linux distributions.
Daikon releases can be found at http://plse.cs.washington.edu/daikon/.
The bug tracker has moved to Google Code, and mailing lists to Google Groups.
General
The Daikon distribution is now hosted at the University of Washington:
http://plse.cs.washington.edu/daikon/
Bug reporting is done using GitHub issue trackers:
https://github.com/codespecs/daikon/issues/
https://github.com/codespecs/fjalar/issues/
Problems with Kvasir should be submitted against the Fjalar product.
All other problems should be submitted against the Daikon product.
Mailing lists have migrated to Google Groups:
daikon-announce@googlegroups.com
daikon-discuss@googlegroups.com
daikon-developers@googlegroups.com
To subscribe, go to the appropriate site below and "Apply to join group":
https://groups.google.com/forum/#!forum/daikon-announce
https://groups.google.com/forum/#!forum/daikon-discuss
https://groups.google.com/forum/#!forum/daikon-developers
(daikon-developers is for people doing Daikon development.)
Renamed the bin/ directory to scripts/.
Chicory front end for Java
Updated for Java 7.
WARNING: Although Chicory proper works with Java 7, DynComp does not yet
work with Java 7. As a workaround, you can compile your code with:
javac -target 5 -source 5 ...
If this is a problem for your project, please add a comment to the issue
tracker to let us know:
https://github.com/codespecs/daikon/issues/24
Kvasir front end for C/C++
User visible changes
Support for more recent versions of Linux (tested with Fedora 19).
Support for more recent versions of GNU tools (tested with gcc 4.8.2
and glibc 2.17).
Mangel-Wurzel front end for C/C++
It has not been supported for almost a decade, so we have removed all
references to the Mangel-Wurzel front end from the documentation.
Documentation
We have enhanced the documentation on using Daikon with Eclipse.
We no longer distribute Texinfo-formatted "info" versions of the
documentation. However, the targets remain in the Makefile if you wish
to make your own.
We have added a section to the developer documentation on how to make
a distribution.
===========================================================================
4.7.5 (December 12, 2013)
An interim release to get an updated version into the field:
Fix for stack map problem in Chicory.
The bin directory is now called scripts to be consistent with the Google
Code repository and the documentation.
===========================================================================
4.7.3 (November 1, 2013)
An interim release to get an updated version into the field:
Fix for stack map problem in Chicory.
===========================================================================
4.7.1 (October 8, 2013)
An interim release to get updated system support into the field:
Support for more recent versions of Linux (tested with Fedora 17).
Support for more recent versions of gnu tools (tested with gcc 4.7.2
and glibc 2.17).
Support for Java 7.
Updated readelf support to version 2.23.2.
Updated underlying Valgrind from revision 11017 to 12996 and VEX from
revision 1953 to 2538. Together, this represents Valgrind 3.8.1.
Many improvements and bug fixes to Chicory, the Java front end for Daikon.
===========================================================================
4.6.4 (June 23 2010)
Daikon
User-visible changes
Added new invariants: CompleteOneOfScalar, CompleteOneOfString
Added configuration variable daikon.FileIO.rm_stack_dups.
When calculating the confidence value for an invariant, Daikon
sometimes estimates the number of possible unique values that have
been seen. This calculation has been changed to better handle
variable that are often missing. In particular, invariants over
combinations of variables that are never present in the same
sample, will have a zero confidence and will thus not normally be
printed.
Improved documentation about: handling large data trace files or
slow Daikon runs; the confidence of each invariant; and the types
of program point declarations and their relationship to the
program point hierarchy.
Daikon uses the JAVA_HOME environment variable, rather than JDKDIR.
Non-user-visible changes
Extracted utilMDE and other utilities into a new library named
plume-lib, which makes it easier to use in other programs. See
https://mernst.github.io/plume-lib/.
Daikon now type-checks with the Nullness Checker (which is part of
the Checker Framework), with just a few suppressed warnings. As
far as we know Daikon is the largest program ever to be verified
in this way.
Interned some string variables when de-serializing an invariant file,
saving an appreciable amount of memory.
Chicory
Documented Chicory options --boot-classes=REGEX, --linked-lists.
Kvasir
User-visible changes
Fixed an issue where Fjalar would not correctly traverse variables
when using the var-list-file option.
The var-list-file can specify different global variables for different
functions, rather than having to specify the same set of global
variables for all of a program.
Kvasir's support for GCC 4.4 has been further improved.
User Documentation
Added documentation for several previously undocumented Kvasir
command line options.
DynComp
Fixed a bug when searching for dcomp_premain.jar. The jar file will
now be found if it is anywhere in the classpath.
InvariantChecker
Added --verbose option that will print all samples that violate an
invariant.
-------------------------------------------
4.6.3 (December 18 2009)
Kvasir's support for GCC 4.4 has been improved.
Kvasir
User-visible changes
The output of variables declared as constant can now be
suppressed via the "--ignore-constants" flag.
Bug fixes
Fixed an issue where Fjalar would not print variables
declared constant for binaries created with some versions
of g++.
Fixed comparability errors which occurred when Kvasir was run
with dyncomp on an x86-64 host.
-------------------------------------------
4.6.2 (October 1 2009)
Kvasir's support for x86-64 hosts and C++ programs has been improved.
Kvasir
User visible changes
Kvasir now has limited support for non-local exits such as
setjmp/longjmp and C++ Exceptions. Kvasir will correctly detect
if a function has been exited by non-local means and not print
an exit program point for the function but continue printing
other functions as normal. Previously Kvasir would stop printing
program points after the first non-locally exited function.
Added support for multi-threaded C/C++ programs.
Kvasir's now fully supports x86-64 hosts and running x86-64
binaries.
Improved Kvasir's speed when working with large C++ binaries.
Bug fixes
Fixed an issue where Kvasir would print incorrect values
for floating point numbers.
Fixed an issue where Kvasir would print incorrect values
for parameters to C++ constructors.
Fixed a memory leak in Fjalar's processing of variable names.
Fixed a crash that would sometimes occur when processing
C++ programs with large amounts of debugging information.
Daikon
User Documentation