← 最新论文
🤖 AI

Automated Proof Generation for Rust Code via Self-Evolution

本文提出了名为 SAFE 的框架,通过构建利用符号验证器区分正误证明的自进化循环,有效解决了 Rust 代码形式化验证中训练数据匮乏的难题,使开源模型在自动证明生成任务上的准确率从 GPT-4o 的 14.39% 大幅提升至 52.52%。

原作者: Tianyu Chen, Shuai Lu, Shan Lu, Yeyun Gong, Chenyuan Yang, Xuheng Li, Md Rakib Hossain Misu, Hao Yu, Nan Duan, Peng Cheng, Fan Yang, Shuvendu K Lahiri, Tao Xie, Lidong Zhou

发布于 2026-02-17
📖 1 分钟阅读☕ 轻松阅读

原作者: Tianyu Chen, Shuai Lu, Shan Lu, Yeyun Gong, Chenyuan Yang, Xuheng Li, Md Rakib Hossain Misu, Hao Yu, Nan Duan, Peng Cheng, Fan Yang, Shuvendu K Lahiri, Tao Xie, Lidong Zhou

原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

这篇论文介绍了一个名为 SAFE 的新框架,它的目标是让计算机自动为 Rust 代码(一种以安全著称的编程语言)编写“数学证明”,以确保代码在任何情况下都不会出错。

为了让你更容易理解,我们可以把这件事想象成**“教一个不懂数学的小学生,如何成为一位严谨的数学老师”**。

1. 核心难题:没有“教科书”

在计算机世界里,写代码很容易,但要给代码写“数学证明”(证明它绝对正确)非常难。这就像让小学生做奥数题,需要极高的专业技巧。

  • 现状:以前,只有极少数专家能写这种证明,所以世界上几乎没有现成的“证明教科书”供人工智能(AI)学习。
  • 困境:AI 模型(像 GPT-4)虽然很聪明,能写代码,但因为缺乏“证明”这种数据,它们无法学会如何写证明。这就好比你想教学生做微积分,但手里连一本微积分课本都没有。

2. SAFE 的解决方案:自我进化的“师徒制”

SAFE 框架就像是一个聪明的“自我进化”系统,它不需要现成的教科书,而是自己“造”书,并在这个过程中不断变强。它分成了三个主要步骤:

第一步:翻译官(准备教材)

SAFE 首先找来了很多简单的 Python 或 Rust 小程序(就像小学生做的算术题)。

  • 动作:它请了一个超级 AI(GPT-4o)当“翻译官”,把这些普通程序翻译成 Rust 语言,并确保它们能被一种叫 Verus 的“数学考官”读懂。
  • 比喻:就像把普通的算术题,重新抄写在一张特殊的“奥数试卷”上,格式必须完全符合考官的要求。

第二步:出题人(生成题目要求)

有了试卷,还需要知道“这道题要求什么”。

  • 动作:SAFE 让 AI 为每个程序写“题目要求”(在计算机里叫“规范”或 Specification)。比如,要求输入必须是正数,输出必须比输入大。
  • 自我进化:一开始 AI 写的要求可能很烂。SAFE 会像老师批改作业一样,用数学工具(Verus)去测试这些要求。如果要求太简单(比如“结果大于 0"),就扔掉;如果要求太离谱(比如“结果必须等于 100"),也扔掉。只留下那些**“虽然不完美,但很有用”**的要求。
  • 比喻:就像让 AI 自己出题,然后自己当裁判,把那些太简单或太荒谬的题目筛掉,只保留那些能真正锻炼人的好题目。

第三步:解题与纠错(核心进化)

这是最精彩的部分。SAFE 让 AI 尝试为这些程序写“证明”。

  • 挑战:一开始,AI 写的证明全是错的。
  • 神奇之处:Verus 这个“考官”非常严厉且诚实。一旦证明错了,它会立刻报错,告诉 AI:“这里缺了一个条件”或“那里逻辑不通”。
  • 自我进化
    1. 生成:AI 尝试写证明。
    2. 纠错:如果错了,SAFE 会把“错误的证明” + “考官的报错信息” + “最终修正后的正确证明”打包成一个新的训练数据。
    3. 学习:AI 从这些“错题本”中学习,下次就知道怎么根据报错来修改自己的答案了。
  • 比喻:这就像学生做数学题,做错了,老师不仅给个红叉,还详细写了“为什么错”以及“正确答案是什么”。学生把这些错题和解析背下来,下次再遇到类似的题,就能举一反三。SAFE 就是利用这种“错题本”机制,让 AI 从“只会乱写”进化到“能自我纠错”。

3. 成果:青出于蓝而胜于蓝

经过成千上万次的“出题 - 做题 - 纠错”循环,SAFE 训练出了一个非常厉害的模型。

  • 对比结果
    • GPT-4o(当时最强的通用 AI):在没有专门训练的情况下,做这种证明题的正确率只有 14.39%(就像小学生乱猜答案)。
    • SAFE 模型:经过自我进化后,正确率飙升到了 52.52%(甚至在使用“自我纠错”功能后,最高能达到 70% 以上)。
  • 意义:这意味着我们成功让一个原本不懂“形式化验证”的开源模型,学会了像专家一样为 Rust 代码写数学证明。

总结

这篇论文的核心思想就是:既然没有现成的“证明教科书”,那就让 AI 自己出题、自己做题、自己改错题,在不断的“试错 - 反馈”循环中,把自己逼成一位数学大师。

SAFE 就像是一个不知疲倦的**“超级学徒”**,它利用计算机自动检查对错的能力,把自己从“小白”训练成了“专家”,解决了代码安全领域长期以来的数据短缺难题。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →