Corten - Foundational Verification of Rust Programs

📅 2026-09-03
📈 Citations: 0
Influential: 0
📄 PDF
🤖 AI Summary
本文介绍了Corten,一个基于Rocq定理证明器的Rust程序基础验证框架,通过形式化Rust的动态语义并开发程序逻辑来解决Rust程序的形式验证问题。
📝 Abstract
We present Corten, a foundational verification framework for Rust programs in the Rocq theorem prover, built on the Iris separation logic framework. Corten provides the first semantics of surface-level Rust mechanized in a proof assistant with an attached program logic, directly grounded in the Rust Reference: it deeply embeds the Typed High-level Intermediate Representation (THIR) into Rocq and formalises Rust's dynamic semantics as a weakest-precondition predicate transformer calculus. By operating at THIR rather than on internal compiler representations, Corten proof goals display the THIR AST, which pretty-prints to surface Rust, keeping verification close to the source code and facilitating maintainability as code evolves. Atop this semantics, Corten develops a program logic and a syntax-directed proof automation layer; the program logic includes defunctionalized continuation stacks that keep proof goals first-order and compact. Soundness is established incrementally, construct by construct, against an interaction-trees denotation. A synthetic test suite demonstrates a two-to-four times reduction in proof size compared to raw semantic proofs. We further showcase Corten on a buddy allocator case study, verifying memory safety of the allocation and deallocation functions, laying the groundwork for end-to-end verification in a shared Rocq semantic foundation spanning hardware-software boundaries.
Problem

Research questions and friction points this paper is trying to address.

Rust programs
formal verification
mechanized semantics
program logic
proof automation
Innovation

Methods, ideas, or system contributions that make the work stand out.

Rust Verification
Iris Separation Logic
THIR
Weakest-Precondition Calculus
Syntax-Directed Proof Automation
🔎 Similar Papers