LLM2D
通过自我进化生成 Rust 代码的自动证明生成
Automated Proof Generation for Rust Code via Self-Evolution
作者: 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
发布日期: 4/16/2025
arXiv ID: oai:arXiv.org:2410.15756v2

摘要

arXiv:2410.15756v2 宣布类型: replace-cross 摘要:确保正确性对于代码生成至关重要。正式验证提供了终极的正确性保证,但需要大量的人力在证明构建方面进行工作,因此迫切需要自动化工具。主要障碍在于数据的严重缺乏——为大型语言模型(LLMs)训练的代码片段比人工撰写的证明要少得多。在本文中,我们介绍了SAFE,这是一个框架,它克服了人工撰写的证明不足的问题,以实现对Rust代码自动证明的生成。SAFE 建立了一个自演化循环,其中数据合成和微调协作以增强模型能力,利用符号验证器的最终力量来区分正确的证明和错误的证明。SAFE 还重新利用了大量合成的错误证明来训练微调模型的自我修复能力,使其能够根据验证器的反馈修复错误的证明。与GPT-4o相比,SAFE 在效率和精确性方面表现出优越性。通过成千上万的合成证明和自我修复机制,我们使最初不了解形式验证的开源模型能够自动为Rust代码编写证明。这一进展导致性能有了显著提升,在由人类专家设计的一个基准测试中,实现了52.52%的准确率,这比GPT-4o的14.39%有了显著的提高。