diffblue-cbmc/CHANGELOG

226 lines
6.1 KiB
Plaintext

5.9
===
* GOTO-INSTRUMENT: --generate-function-body can be used to
generate bodies for functions that don't have a body
in the goto code. This supercedes the functionality
of --undefined-function-is-assume-false
* The --fixedbv command-line option has been removed
(it was marked deprecated in January 2017)
* GOTO-INSTRUMENT: New option --print-global-state-size
5.8
===
* GOTO-INSTRUMENT: --reachability-slice can be used with --property to slice
down to a single property only.
* GOTO-INSTRUMENT: New option --list-calls-args
* GOTO-INSTRUMENT: New option --print-path-lenghts
* GOTO-ANALYZER: New option --unreachable-functions, --reachable-functions
* GOTO-INSTRUMENT: New option --undefined-function-is-assume-false
* GOTO-INSTRUMENT: New option --remove-function-body
* GOTO-INSTRUMENT: New option --use-all-headers, changed --use-system-headers to
--no-system-headers
* GOTO-INSTRUMENT: dump-c can output the generated environment via --harness
5.7
===
* General: All tools now support the same set of --*-check options.
* General: Added --conversion-check to catch type casts that cause loss of
information. Previously --(un)signed-overflow-check would report these.
* CBMC: New option --symex-coverage-report to produce a Cobertura-compatible
statement- and branch coverage report.
* CBMC/Java: New options --java-max-vla-length, --java-unwind-enum-static,
--java-cp-include-files, --lazy-methods.
* GOTO-INSTRUMENT: Static loop unwinding via --unwind or via new options
--unwindset, --unwindset-file, --unwinding-assertions, --partial-loops,
--continue-as-loops, --log
* GOTO-INSTRUMENT: New option --slice-global-inits
* GOTO-INSTRUMENT: Inlining via --inline, --partial-inline, --function-inline,
--no-caching
* GOTO-INSTRUMENT: New options --remove-function-pointers, --model-argc-argv,
--show-threaded
* GOTO-CC: Additional drop-in replacement support for bcc, as, as86
* GOTO-CC: GCC-style error/warning messages
* GOTO-CC: New options --native-compiler and --native-linker to select the
compiler/linker to be used when building combined native/goto object files.
* CBMC, SYMEX, GOTO-INSTRUMENT: New option --drop-unused-functions. Removed
ambiguous --show-reachable-properties.
* CBMC: New option --no-built-in-assertions
5.6
===
Bugfixes in the C, C++, Java front-ends.
5.5
===
This is a major release, with significant changes. The option
--all-properties is now the default; to restore the previous behaviour,
use --stop-on-fail. The primary area of attention was again the Java
front-end. We have furthermore added test-suite generation for branch
coverage, location coverage, condition coverage, decision coverage and
MC/DC.
5.4
===
This is a minor release, focused primarily on maintenance. The primary
area of attention was again the Java front-end. We have also updated to
Minisat 2.2.1.
5.3
===
This is a minor release, focused primarily on maintenance. The primary
area of attention is the Java front-end.
5.2
===
This is a minor release, focused primarily on maintenance. The primary
areas of attention are the full slicer, the Java frontend, test suite
generation and support for the Glucose solver.
5.1
===
This is a minor release, focused primarily on maintenance. Support for solving
floating-point problems using for SMT-LIB2 solvers without support for the
floating-point theory has been added.
5.0
===
This is a major release, focused primarily on performance improvements.
Furthermore, the support for the floating-point theory for SMT-LIB2 has been
improved substantially. This release breaks compatibility with the goto-binary
format used by earlier releases; i.e., you will need to rebuild your
goto-binaries.
4.9
===
This release is primarily for maintenance purposes and does not add any major
new features. The support for SMT-LIB2 solvers has been improved substantially.
4.8
===
4.7
===
Added support for Solaris 11.
Bugfixes in partial-order encoding.
Added --float-overflow-check
4.6
===
Improved floating-point encoding.
Improved AIG->CNF encoder.
4.5
===
Optimizations to reduce memory consumption.
Bugfixes in partial-order encoding.
4.4
===
Now checks concurrent programs, with partial-order encoding.
Support for SMT-LIB standard floating-point theory.
goto-instrument knows k-induction and underapproximating loop accelleration.
4.3
===
Floating-point arithmetic now takes the rounding mode into account,
which can be changed dynamically.
goto-gcc generates hybrid executables on Linux, containing both machine
code and the CFG.
Limited support for Spec#-style quantifiers added.
Pointer-checks no longer use a heavy-weight alias analysis.
Limited support for some x86 and ARM inline assembly constructs.
4.2
===
goto-cc now passes all command line options to the gcc preprocessor.
The MacOS binaries are now signed.
The C/C++ front-end has been tested and fixed for the Visual Studio 2012
header files.
The man-page has been elaborated.
Support for the C99 complex type and gcc's vector type has been added.
Various built-ins for x86 MMX and SSE instructions have been added.
Support for various C11 features has been added.
Support for various built-in primitives has been added, in particular for
the __sync_* commands.
New feature: --all-claims now reports the status of all claims; the
verification continues even if a counterexample is found. This feature uses
incremental SAT.
The counterexample beautification (--beautify) now uses incremental SAT.
Numerous improvements to SMT1 and SMT2 interfaces.
Support for further SAT solvers (PRECOSAT, PICOSAT, LINGELING)
4.1
===
The support for low-level accesses to dynamically allocated data structures
and "integer addressed memory" (usually memory-mapped I/O) has been further
improved.
Numerous improvements to the SMT back-ends. Specifically, support through
the SMT1 path for Boolector and Z3 has been improved; support for MathSAT
has been added. In combination with the very latest version of MathSAT,
CBMC now also supports an SMT2 flow (use --mathsat --smt2 to activate this).
4.0
===
Better support for low-level accesses to dynamically allocated data
structures.
Numerous front-end improvements.