Specifying and Verifying Higher-order Rust Iterators - Inria - Institut national de recherche en sciences et technologies du numérique Access content directly
Conference Papers Year : 2023

Specifying and Verifying Higher-order Rust Iterators

Abstract

In Rust, programs are often written using iterators, but these pose problems for verification: they are non-deterministic, infinite, and often higher-order, effectful and built using combinators. We present a general framework for specifying and reasoning with Rust iterators in first-order logic. Our approach is capable of addressing the challenges set out above, which we demonstrate by verifying real Rust iterators, including a higher-order, effectful Map. Using the Creusot verification platform, we evaluate our framework on clients of iterators, showing it leads to efficient verification of complex functional properties.
Fichier principal
Vignette du fichier
main.pdf (558.19 Ko) Télécharger le fichier
Origin : Files produced by the author(s)

Dates and versions

hal-03827702 , version 1 (25-10-2022)
hal-03827702 , version 2 (20-04-2023)

Identifiers

Cite

Xavier Denis, Jacques-Henri Jourdan. Specifying and Verifying Higher-order Rust Iterators. Tools and Algorithms for the Construction and Analysis of Systems (TACAS), ETAPS, Apr 2023, Paris, France. pp.93-110, ⟨10.1007/978-3-031-30820-8_9⟩. ⟨hal-03827702v2⟩
1346 View
1811 Download

Altmetric

Share

Gmail Facebook X LinkedIn More