paperbot · PL 论文追踪

全部论文 待读 收藏

P2 VerusBelt: A Semantic Foundation for Verus’s Proof-Oriented Extensions to the Rust Type System

VerusBelt:Verus 面向证明的 Rust 类型系统扩展的语义基础
PLDI 10(PLDI)2026匹配度 2/10 · 该论文是纯 PL/形式验证方向的工作,为 Verus 的证明类型与 Rust 生命周期、并发、可变借用建立语义可靠性证明;与用户核心方向(LLM/Agent 与静态分析/形式化验证的交叉、浮点程序分析、贝叶斯程序分析)没有直接关联。虽涉及形式化验证和工业级工具 Verus,但未使用 LLM/Agent 改进验证,也不是面向 ML/Agentic 程序的静态分析。引用 3 inbox
Travis Hance, Laila Elbeheiry, Yusuke Matsushita, Derek Dreyer
crossref: 2026-09-10

AI 速览

一句话:为 Verus 的核心证明类型及 Rust 生命周期、并发与可变借用建立首个语义可靠性证明。

Verus 是面向 Rust 的验证工具,通过一组面向证明的类型在统一框架中验证安全与 unsafe Rust,但其类型系统扩展缺乏语义可靠性基础。本文提出 VerusBelt,为 Verus 的核心子集建立首个语义可靠性证明。该模型涵盖 cells、invariants、resource algebras 与 storage protocols 等证明类型,并首次纳入完整的 Rust 生命周期、并发与线程安全以及可变借用。为支持 storage protocols,作者将 RustBelt 的生命周期逻辑与 Iris 的 Leaf 库结合,构建通用的共享借用模型。全部证明在 Iris/Rocq 中机器化。

问题
Verus 通过面向证明的类型扩展 Rust 类型系统,以统一验证安全与 unsafe 代码,但这些扩展缺乏语义可靠性证明。本文旨在为 Verus 的核心子集建立语义基础,并覆盖 Rust 的生命周期、并发和可变借用。
方法
VerusBelt 模型化 Verus 的核心证明类型(cells、invariants、resource algebras、storage protocols),并将 RustBelt 的生命周期逻辑与 Iris 的 Leaf 库结合,以通用地建模共享借用和 storage protocols。
评估
在 Iris/Rocq 中机器化验证全部证明,给出 Verus 重要子集的首个语义可靠性证明。
原文摘要(Abstract)

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.

链接与引用

DOI 原文 · PDF(开放获取) · DBLP

BibTeX
@article{HanceEMD26,
  title = {VerusBelt: A Semantic Foundation for Verus’s Proof-Oriented Extensions to the Rust Type System},
  author = {Travis Hance and Laila Elbeheiry and Yusuke Matsushita and Derek Dreyer},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {10},
  number = {PLDI},
  year = {2026},
  doi = {10.1145/3808325}
}