VerusBelt: A Semantic Foundation for Verus’s Proof-Oriented Extensions to the Rust Type System
This program is tentative and subject to change.
Verus is a verification tool for the Rust programming language that has already been put to use in several significant systems verification efforts. Verus offers a distinctive approach among Rust verification systems in that, in addition to offering fast SMT-based automation, it supports verification of both safe and unsafe Rust code in a single, unified framework. It achieves this by providing users with a range of proof-oriented types—types introduced specifically by Verus to aid in verification—on top of which one can then build verified implementations of Rust APIs that would otherwise require the use of unsafe Rust features.
In this paper, we develop VerusBelt, the first semantic soundness proof for a significant subset of Verus. In addition to modeling the full range of Verus's core proof-oriented types—including cells, invariants, resource algebras, and storage protocols—VerusBelt accounts (for the first time) for full-fledged Rust lifetimes, concurrency and thread safety, and mutable borrows. A central challenge involves building a model of shared borrows that is generic enough to support storage protocols—we tackle this by marrying RustBelt's lifetime logic with the Leaf library for temporary resource sharing in Iris. All our proofs are mechanized in Iris/Rocq.
This program is tentative and subject to change.
Fri 19 JunDisplayed time zone: Mountain Time (US & Canada) change
13:40 - 15:20 | |||
13:40 20mTalk | Cpp2Rust: Automatic Translation of C++ to Safe Rust PLDI Research Papers Lucian Popescu INESC-ID; Instituto Superior Técnico - University of Lisbon, Francisco Gouveia INESC-ID; Instituto Superior Técnico - University of Lisbon, Henrique Preto INESC-ID; Instituto Superior Técnico - University of Lisbon, João Silveira INESC-ID; Instituto Superior Técnico - University of Lisbon, Dmytro Hrybenko Google, José Fragoso Santos INESC-ID; Instituto Superior Técnico - University of Lisbon, Nuno P. Lopes INESC-ID; Instituto Superior Técnico - University of Lisbon DOI Pre-print | ||
14:00 20mTalk | &inator: Correct, Precise C-to-Rust Interface Translation PLDI Research Papers Victor Chen Ohio State University, Ayden Coughlin Ohio State University, Michael D. Bond Ohio State University DOI Pre-print | ||
14:20 20mTalk | Hayroll: A Modular Wrapper for Translating C Macros and Conditional Compilation to Rust PLDI Research Papers Haoran Peng University of Washington, Baris Kasikci University of Washington, Gilbert Louis Bernstein University of Washington, Michael D. Ernst University of Washington DOI Pre-print | ||
14:40 20mTalk | VerusBelt: A Semantic Foundation for Verus’s Proof-Oriented Extensions to the Rust Type System PLDI Research Papers Travis Hance MPI-SWS, Laila Elbeheiry MPI-SWS, Yusuke Matsushita Kyoto University, Derek Dreyer MPI-SWS DOI | ||
15:00 20mTalk | Pure Borrow: Linear Haskell Meets Rust-Style Borrowing PLDI Research Papers DOI Pre-print | ||