The Creusot Environment for the Deductive Verification of Rust Programs - Inria - Institut national de recherche en sciences et technologies du numérique
Rapport (Rapport De Recherche) Année : 2021

The Creusot Environment for the Deductive Verification of Rust Programs

Résumé

Rust is a fairly recent programming language for system programming, bringing static guarantees of memory safety through a strong ownership policy. This feature opens promising advances for deductive verification of Rust code, which aims at proving the conformity of some code with respect to a specification of its intended behavior. In this report we present Creusot, a tool for the formal specification and deductive verification of Rust programs. There are two main original features in the approach implemented in Creusot. First, Creusot’s specification language features a notion of prophecies, which is central for the specification of behavior of programs performing memory mutation. Prophecies also permit efficient automated reasoning for verifying about such programs. Rust provides advanced abstraction features based on a notion of traits, extensively used in the standard library and in user code. The support for traits is the second main feature of Creusot, because it is at the heart of its approach, in particular for providing complex abstraction of the functional behavior of programs.
Fichier principal
Vignette du fichier
report.pdf (590.12 Ko) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-03526634 , version 1 (14-01-2022)
hal-03526634 , version 2 (05-04-2022)

Identifiants

  • HAL Id : hal-03526634 , version 1

Citer

Xavier Denis, Jacques-Henri Jourdan, Claude Marché. The Creusot Environment for the Deductive Verification of Rust Programs. [Research Report] RR-9448, Inria Saclay - Île de France. 2021. ⟨hal-03526634v1⟩
718 Consultations
930 Téléchargements

Partager

More