Skip to content

Releases: ftsrg/theta

v4.4.1

11 Jul 20:23
Compare
Choose a tag to compare

Minor tweaks to the deployment workflow. Modified subprojects (since v4.4.0):

v4.4.0

11 Jul 19:21
Compare
Choose a tag to compare

Updated the CI, added guidelines for collaboration Modified subprojects (since v4.3.0): cfa/cfa cfa/cfa-analysis cfa/cfa-cli common/analysis common/common common/core frontends/c-frontend frontends/chc-frontend solver/solver solver/solver-smtlib solver/solver-smtlib-cli solver/solver-z3 sts/sts sts/sts-analysis sts/sts-cli xcfa/cat xcfa/xcfa xcfa/xcfa-analysis xcfa/xcfa-cli xsts/xsts xsts/xsts-analysis xsts/xsts-cli xta/xta xta/xta-analysis xta/xta-cli

v4.3.0

07 Jul 10:03
5422226
Compare
Choose a tag to compare

This release adds support for solving CHCs, as well as contains some improvements to the smtlib subproject. Modified subprojects (since v4.2.5): common/core frontends/chc-frontend solver/solver-smtlib xcfa/xcfa xcfa/xcfa-cli xsts/xsts-cli

v4.2.5

17 May 21:08
Compare
Choose a tag to compare

Auto-generated release

v4.2.3

22 Mar 15:53
f9cd8f9
Compare
Choose a tag to compare

Auto-generated release

SVCOMP23 release

28 Oct 23:31
Compare
Choose a tag to compare

SV-COMP 2023 submission

This release contains binaries for the 2023 SV-COMP competition.

Minimal necessary packages for Ubuntu 22.04 LTS:

  • openjdk-17-jre-headless
  • libgomp1
  • libmpfr-dev

Contents of the Submission

.
├── CONTRIBUTORS.md - contains information on the main contributors to Theta
├── LIB_LICENSES.md - contains the licensing information for packaged dependencies
├── LICENSE - contains the license for Theta
├── README.md - this file
├── complex.kts - the portfolio script used this year
├── lib - contains the library dependencies
│   ├── libmpfr_java-1.0.so
│   ├── libz3.so
│   └── libz3java.so
├── solvers - contains further dependencies (SMT-solvers), each having their respective licenses attached
│   ├── bitwuzla
│   │   └── 3ea759df11285e722b565c0b5c132dc0bb77066f
│   ├── cvc5
│   │   └── 1.0.2
│   ├── mathsat
│   │   ├── 5.6.8
│   │   └── fp
│   ├── princess
│   │   └── 2022-07-01
│   ├── smtinterpol
│   │   └── 2.5-1230
│   └── z3
│       ├── 4.10.1
│       └── 4.11.2
├── theta-smtlib.jar - the jarfile for installing and managing smt solvers (not necessary unless different solver versions are required)
├── theta-start.sh - the starting script of Theta
└── theta.jar - the main jarfile of Theta

Usage

This packaged version of Theta is equipped with the necessary SMT solvers, libraries and binary version of Theta. To use it, one has to simply execute theta-start.sh with the desired parameters. The first parameter must be the name of the input task (except when using --version). The script provides the --smt-home directory to Theta.
The tool is used with the following parameters on SV-Comp 2023:

--witness-only \
--portfolio COMPLEX \
--loglevel RESULT

For a more verbose output, change --witness-only to --output-results and --loglevel to MAINSTEP, SUBSTEP, INFO or DETAIL.
For more parameters, check out the documentation on CEGAR (might not be up to date on every parameter, but gives a detailed explanation on them) and the main class of the XCFA frontend.

v4.2.2

20 Sep 09:54
431773b
Compare
Choose a tag to compare

This release adds "no refinement progress detection" to the XSTS cli.
(Turning it off is possible with the --no-stuck-check flag)

v4.2.1

13 Sep 16:30
Compare
Choose a tag to compare

This release fixes a bug related to local variables in the XSTS formalism.

v4.2.0

18 Jul 14:52
065cb20
Compare
Choose a tag to compare

This release adds basic function support to Theta, meaning it can now verify recursive programs. The previously used function inlining can be turned back on with the --inline ON flag.

v4.1.0

04 Jul 21:37
de5fef9
Compare
Choose a tag to compare

The new release contains a partial order reduction algorithm for multi-threaded programs. The algorithm has a formalism-independent core (PorLts), and an implementation for the XCFA interleavings algorithm (XcfaPorLts). POR can be enabled with the --algorithm INTERLEAVINGS_POR flag.