Search NASA⌕ Search

DOE OSTI · code-145119

Replication Package for "Union-Find and Usability: A Case Study and Analysis of Rust Formal Verifier

Abstract

This replication package is a case study on automated deductive verification for Rust for practical programs. It is a companion artifact to a corresponding usability study on verification titled "Union-Find and Usability: A Case Study and Analysis of Rust Formal Verifiers". It seeks to answer the question "Can Rust developers today use Rust verifiers to verify their code?". To answer this question, the study contrasts the verification experience of two mature Rust verifiers, Creusot and Prusti, by using the tools to develop a verified implementation of union-find in Rust. The union-find implementation is based on real-world code as used in the popular egg E-graph library. The artifact consists of two different verified libraries, one using Creusot and one using Prusti. The libraries have similar Rust interfaces and high-level proofs but differ in their details: Creusot and Prusti have different annotation languages and support different proof styles. Each implementation can be verified with its respective tool and compiles as a traditional Rust development.

Keep this discovery

Explore connections, maps & timelines

BibTeXRIS

Sarracino, John, Maclaren, Molly. 2024-09-16. Replication Package for "Union-Find and Usability: A Case Study and Analysis of Rust Formal Verifier. https://doi.org/10.5281/zenodo.13887654

Cite the original work for its findings. Save a collection to share your selection of sources.