Skip to main content
Go to the home page of the European Commission (opens in new window)
English English
CORDIS - EU research results
CORDIS

Automated Reasoning with Theories and Induction for Software Technology

Periodic Reporting for period 2 - ARTIST (Automated Reasoning with Theories and Induction for Software Technology)

Reporting period: 2023-01-01 to 2024-06-30

Software technologies are used everywhere, yet they are error-prone. The long list of software failures over the past years calls for serious concerns in our digital
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.
Our project models software properties, such as safety and security, as mathematical theorem (work package 1, in short WP1). In this respect, we proposed and developed trace logic to express software properties in the full first-order theories of commonly used data structures of software technologies, including integers, arrays and inductively defined data types. Addressing the reasoning demand in trace logic, we developed and combined superposition-based techniques with new SMT solving approaches, allowing us to enforce and certify software properties (WP2). In addition, we fully integrated inductive reasoning and code synthesis within first-order theorem proving (WP3),
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.
Our experimental results already show that our techniques outperform state-of-the-art methods in program analysis and theorem proving, including probabilistic verification (Polar), IT safety and security (Rapid), SMT solving (Z3), first-order theorem proving (Vampire), and inductive theorem proving (Vampire). For example, our Vampire prover won the first-order theorem proving division of the yearly CADE ATP System Championships (CASC) in all years of our project (2021-2024);
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.
My booklet 0 0