Releases: ftsrg/theta
v2.5.0
v2.4.2
v2.4.1
v2.4.0
This release adds algorithmic support to bitvectors in the theta-cfa-cli
tool via new refinement strategies. Previous strategies (e.g., SEQ_ITP
) did not work for bitvectors because the underlying Z3 solver does not support interpolation over bitvectors. The new strategies are based on unsat core predicates and the Newton approach. Note that these algorithms are still in an experimental phase, we are working on their benchmarking and fine-tuning. Credits go to @as3810t.
v2.3.0
This release introduces a breaking change in the syntax (and semantics) of bitvectors. Previously, bitvector variables could be declared with signedness information (signed/unsigned) and the operations relied on this information. With this release, bitvector variables no longer store their signedness (i.e., there is a single bitvector type with only the length as a parameter). Operations where signedness matters (e.g., comparison) come in two flavors (e.g., sgt
for signed greater-than and ugt
for unsigned greater-than). This aligns with the way SMT-LIB and LLVM works. Thanks @as3810t! See bitvectors.md for more information.
v2.2.1
v2.2.0
v2.1.0
v2.0.1
v2.0.0
This major release adds a new formalism, the eXtended Symbolic Transition System (XSTS), including a textual DSL, analysis modules and a command-line tool running CEGAR-based analyses. The XSTS formalism is a backend to the Gamma Statechart Composition Framework, where it can analyze reachability queries over collaborating state machines. Note that the XSTS formalism and related projects are still experimental, major changes and improvements are expected. Big thanks to @mondokm @grbeni @vincemolnar