Verus: Verifying rust programs using linear ghost types

A Lattuada, T Hance, C Cho, M Brun… - Proceedings of the …, 2023 - dl.acm.org
The Rust programming language provides a powerful type system that checks linearity and
borrowing, allowing code to safely manipulate memory without garbage collection and …

Refinedrust: A type system for high-assurance verification of Rust programs

L Gäher, M Sammler, R Jung, R Krebbers… - Proceedings of the ACM …, 2024 - dl.acm.org
Rust is a modern systems programming language whose ownership-based type system
statically guarantees memory safety, making it particularly well-suited to the domain of safety …

Flux: Liquid types for rust

N Lehmann, AT Geller, N Vazou, R Jhala - Proceedings of the ACM on …, 2023 - dl.acm.org
We introduce Flux, which shows how logical refinements can work hand in glove with Rust's
ownership mechanisms to yield ergonomic type-based verification of low-level pointer …

Laurel: generating Dafny assertions using large language models

E Mugnier, EA Gonzalez, R Jhala… - arxiv preprint arxiv …, 2024 - arxiv.org
Dafny is a popular verification language, which automates proofs by outsourcing them to an
SMT solver. This automation is not perfect, however, and the solver often requires guidance …

Towards trustworthy automated program verifiers: Formally validating translations into an intermediate verification language

G Parthasarathy, T Dardinier, B Bonneau… - Proceedings of the …, 2024 - dl.acm.org
Automated program verifiers are typically implemented using an intermediate verification
language (IVL), such as Boogie or Why3. A verifier front-end translates the input program …

A formalization of Core Why3 in Coq

JM Cohen, P Johnson-Freyd - Proceedings of the ACM on Programming …, 2024 - dl.acm.org
Intermediate verification languages like Why3 and Boogie have made it much easier to build
program verifiers, transforming the process into a logic compilation problem rather than a …

AutoVerus: Automated proof generation for Rust code

C Yang, X Li, MRH Misu, J Yao, W Cui, Y Gong… - arxiv preprint arxiv …, 2024 - arxiv.org
Generative AI has shown its values for many software engineering tasks. Still in its infancy,
large language model (LLM)-based proof generation lags behind LLM-based code …

Sound Borrow-Checking for Rust via Symbolic Semantics

S Ho, A Fromherz, J Protzenko - … of the ACM on Programming Languages, 2024 - dl.acm.org
The Rust programming language continues to rise in popularity, and as such, warrants the
close attention of the programming languages community. In this work, we present a new …

A hybrid approach to semi-automated Rust verification

SÉ Ayoun, X Denis, P Maksimović… - arxiv preprint arxiv …, 2024 - arxiv.org
While recent years have been witness to a large body of work on efficient and automated
verification of safe Rust code, enabled by the rich guarantees of the Rust type system, much …

Specifying and verifying higher-order Rust iterators

X Denis, JH Jourdan - International Conference on Tools and Algorithms …, 2023 - Springer
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 adapters …