Info: Zenodo’s user support line is staffed on regular business days between Dec 23 and Jan 5. Response times may be slightly longer than normal.

There is a newer version of the record available.

Published October 3, 2024 | Version v1
Other Open

Replication Package for "Union-Find and Usability: A Case Study and Analysis of Rust Formal Verifier (useable-uf-cert-artifact)

  • 1. ROR icon Lawrence Livermore National Laboratory
  • 2. ROR icon University of California, San Diego

Description

This artifact is a case study on automated deductive verification for Rust for practical programs. It seeks to answer the question ”Can Rust developers today use Rust verifiers to verify their code?”. To answer this question, it 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.

In this study, we develop 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.

Files

usable-cert-uf-artifact.zip

Files (165.2 kB)

Name Size Download all
md5:f81d670ec1d80bd38dab298f8828197b
165.2 kB Preview Download