Repolode
verus-lang

verus-lang/verus

一款对 Rust 代码进行形式化验证的工具,通过静态证明而非运行时检查来保证代码符合规约。

Star
3,374
Fork
239
未关闭 Issue
393
最近提交
6小时前

这是什么?

Verus 让开发者为 Rust 代码编写规约,描述代码应当实现的行为,然后静态检查可执行代码在所有可能的执行路径下是否都满足这些规约。它不插入运行时断言,而是借助自动化求解器在编译前完成证明。

目前 Verus 支持 Rust 的一个子集,并能推理超出标准类型系统范围的代码,例如直接操作裸指针的代码,适合对正确性要求较高的底层系统代码。

项目仍处于活跃开发阶段,部分功能可能不完善。项目提供教程、标准库 API 文档(vstd)、在线 Playground,以及代码格式化工具 verusfmt。

核心功能

  • 01规约与 Rust 代码写在一起,并进行静态检查。
  • 02由自动化求解器完成证明,不引入运行时检查。
  • 03可以推理裸指针操作等底层代码。
  • 04提供面向验证的标准库 vstd 及其 API 文档。
  • 05提供在线 Playground 和 VS Code 集成。

适用场景

  • 验证用 Rust 编写的底层系统代码的正确性。
  • 证明数据结构或算法永远不会违反其不变量。
  • 开展 Rust 程序形式化验证方面的研究。

快速上手

  1. 1

    在浏览器中访问 Verus Playground 试用

  2. 2

    按照 INSTALL.md 中的安装说明进行完整的本地安装

  3. 3

    学习教程和参考手册

使用前须知

  • Verus 仍在积极开发中,部分功能可能有缺陷或缺失。
  • 它目前只支持 Rust 的一个子集。
  • 文档尚不完整,获取帮助主要依靠 Zulip 社区。

标签

常见问题

verus 是什么?
一款对 Rust 代码进行形式化验证的工具,通过静态证明而非运行时检查来保证代码符合规约。 Verus 让开发者为 Rust 代码编写规约,描述代码应当实现的行为,然后静态检查可执行代码在所有可能的执行路径下是否都满足这些规约。它不插入运行时断言,而是借助自动化求解器在编译前完成证明。
verus 可以免费使用吗?用的什么许可证?
verus 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
verus 还在维护吗?
活跃维护中。verus 最近一次提交是在 2026年10月22日。
verus 适合用来做什么?
验证用 Rust 编写的底层系统代码的正确性。 证明数据结构或算法永远不会违反其不变量。 开展 Rust 程序形式化验证方面的研究。
verus 怎么安装和运行?
在浏览器中访问 Verus Playground 试用 按照 INSTALL.md 中的安装说明进行完整的本地安装 学习教程和参考手册
在哪里获取 verus?
源代码和安装说明在 GitHub 上:https://github.com/verus-lang/verus

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目