Fri 19 Jun 2026 14:20 - 14:40 at Flatirons 4 - Rust Translation and Borrowing Chair(s): Ralf Jung

Automatically translating system software from C to Rust is an appealing but challenging problem, as it requires whole-program reasoning to satisfy Rust’s ownership and borrowing discipline. A key enabling step in whole-program translation is interface translation, which produces Rust declarations for the C program’s top-level declarations (i.e., structs and function signatures), enabling modular and incremental code translation.

This paper introduces correct, precise C-to-Rust interface translation, called &inator. &inator employs a novel constraint-based formulation of semantic equivalence and type correctness including borrow-checking rules to produce a Rust interface that is correct (i.e., the interface admits a semantics-preserving implementation in safe Rust) and precise (i.e., it uses the simplest, least costly types). Our results show &inator produces correct, precise Rust interfaces for real C programs, but support for certain C features and scaling to large programs are challenges left for future work. This work advances the state of the art by being the first correct, precise approach to C-to-Rust interface translation.

Fri 19 Jun

Displayed time zone: Mountain Time (US & Canada) change

14:00 - 15:40
Rust Translation and BorrowingPLDI Research Papers at Flatirons 4
Chair(s): Ralf Jung ETH Zurich
14:00
20m
Talk
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:20
20m
Talk
&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:40
20m
Talk
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
Link to publication DOI Pre-print
15:00
20m
Talk
VerusBelt: A Semantic Foundation for Verus’s Proof-Oriented Extensions to the Rust Type SystemDistinguished ArtifactDistinguished Paper
PLDI Research Papers
Travis Hance MPI-SWS, Laila Elbeheiry MPI-SWS, Yusuke Matsushita Kyoto University, Derek Dreyer MPI-SWS
DOI
15:20
20m
Talk
Pure Borrow: Linear Haskell Meets Rust-Style Borrowing
PLDI Research Papers
Yusuke Matsushita Kyoto University, Hiromi Ishii JIJ
DOI Pre-print