Periodic Reporting for period 2 - ARTIST (Automated Reasoning with Theories and Induction for Software Technology)
Reporting period: 2023-01-01 to 2024-06-30
society, imposing bad reputations and huge economic burdens on organizations, industries and governments.
Improving software reliability is not enough anymore, ensuring software reliability is mandatory.
The ARTIST project enters new grounds for ensuring software reliability and makes first-order theorem proving an alternative, yet powerful approach
to formal verification, complementing other advances in the area. We use first-order theorem provers
not only to prove but also to generate software properties. To this end, we develop novel reasoning techniques
in the full first-order theories of commonly used data structures of software technologies, including integers,
arrays and inductively defined data types.
Thanks to the full automation and tool support of our project, our results can easily be integrated
and used in other technologies, supporting end-users and developers of formal verification engines to apply
first-order theorem proving without the need of becoming experts in first-order automated reasoning.
As such, ARTIST turns first-order theorem proving into the landscape of trustworthy software development,
assisting software developers with fully automated methods to generate and prove critical software functionalities.
replacing the need of human guidance in automating induction and advancing the state-of-the-art in inductive theorem proving and provable correct software development.
Our results are implemented and available through the following five open-source software artifacts, addressing and solving different challenges of automated reasoning:
- the Polar software tool (https://probing-lab.github.io/tools/polar(opens in new window)) for analysing probabilistic program properties in trace logic extensions of WP1;
- the Rapid verification framework (https://github.com/vprover/rapid(opens in new window)) for proving software safety using trace logic reasoning in WP1;
- the Vampire first-order theorem prover (https://vprover.github.io/(opens in new window)) for reasoning with theories, quantifiers and induction in WP2-WP3;
- the CryptoVampire cryptographic protocol verifier (https://github.com/SecPriv/CryptoVampire(opens in new window)) for proving soundness of cryptographic protocols using trace properties in WP1;
- the Z3 SMT solver (https://github.com/Z3Prover/z3(opens in new window)) for theory-specific reasoning in WP2 in support of formal analysis in WP1;
- the CheckMate security analyzer (https://github.com/apre-group/checkmate(opens in new window)) for game-theoretic security analysis of blockchain protocols in WP1.
moreover, thanks to the advances of our project, Vampire won all divisions of the CADE ATP System Championships (CASC) in 2024, outperforming all existing solvers.