Skip to main content
Aller à la page d’accueil de la Commission européenne (s’ouvre dans une nouvelle fenêtre)
français français
CORDIS - Résultats de la recherche de l’UE
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)

Période du rapport: 2023-01-01 au 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(s’ouvre dans une nouvelle fenêtre)) for analysing probabilistic program properties in trace logic extensions of WP1;
- the Rapid verification framework (https://github.com/vprover/rapid(s’ouvre dans une nouvelle fenêtre)) for proving software safety using trace logic reasoning in WP1;
- the Vampire first-order theorem prover (https://vprover.github.io/(s’ouvre dans une nouvelle fenêtre)) for reasoning with theories, quantifiers and induction in WP2-WP3;
- the CryptoVampire cryptographic protocol verifier (https://github.com/SecPriv/CryptoVampire(s’ouvre dans une nouvelle fenêtre)) for proving soundness of cryptographic protocols using trace properties in WP1;
- the Z3 SMT solver (https://github.com/Z3Prover/z3(s’ouvre dans une nouvelle fenêtre)) for theory-specific reasoning in WP2 in support of formal analysis in WP1;
- the CheckMate security analyzer (https://github.com/apre-group/checkmate(s’ouvre dans une nouvelle fenêtre)) 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.
Mon livret 0 0