v0.1.20
Pre-release
Pre-release
Features
Change of default settings
- logic for auxiliary solver becomes ALL
- do not bring TransFormulas in CNF
- ICFG does partial skolemization by default
Misc
- support for computation of danger invariants in InvariantSynthesis plugin
- optimization for auxiliary bitvector equality method
- added entry and exit functions to violation witnesses (closes #113)
- improve assertion order modulation in strategies that use them by counting already analyzed path programs and saving/logging trace hashes for debugging (closes #204)
- new abstract interpretation domain
SMTTheoryDomain
- a domain based on predicate transformer and SMT solver calls.
Solver update
- Now using MathSat5 nightly build 84cb666a6c83 (Jul 12 2017)
Bugfixes
- various bugfixes, e.g. in
TermVariableRenamer
andLassoRankerStarter
, renaming of variables to constants in some SMT operations, - fix backtranslation bug: if a procedure without implementation is called, replace the call/return with an fcall and avoid return statement shifting workaround; for C programs without explicit return, remove assertion (closes #205)
- add support for expressions containing variables with array type in BoogiePreprocessor backtranslator and fix a bug where struct types where not treated as intended
- fix bug in
IcfgTransformer
that lead to new return transitions being created before the corresponding call transition was created (closes #207) - fix IndexOutOfBounds exception in backtranslation (closes #209)
- fix not considering
AutomataScriptInterpreterOverallResult
in overall result message (closes #6) - bugfix SSD quantifier elimination
- fix Overapprox annotation being unmergeable (closes #189)
- fix bug that lead to different .csv files during testing by using
AbstractCegarLoop.Result
inCodeCheck
instead of redefining own enum (closes #200)
Plumbing
- new data structure for an equivalence relation with a ternary membership status (equal, not equal, unknown)
- use actual hierachical prestate in AbstractInterpretation soundness check instead of
stateafterleaving
- use monteverdi nexus oss repository proxy to prevent build breakage due to high load on eclipse p2 repositories
- introduced
IRankedLetter
interface: every letter in a TreeAutomaton's alphabet now needs to have an explicit rank; - moved helper files for TreeAutomizer from modelcheckerutils/hornutil to its own library Library-TreeAutomizer
- add new auxiliary method (distinct) to SmtUtils
Known Issues
- README and Website usage instructions outdated (see #135)
- Startup with generated binary ./Ultimate stalls if no X display is available