
文章主要内容总结
本文提出了一种针对Dafny程序中算术错误的自动化程序修复(APR)方法,该方法结合形式化规范与大语言模型(LLMs),旨在提高程序修复的准确性和可靠性。具体内容如下:
- 核心思路:假设Dafny程序的形式化规范(前置条件、后置条件、不变式等)是正确的,将其作为“Oracle”(验证标准),通过霍尔逻辑(Hoare Logic)分析程序状态以定位故障,并利用LLMs生成修复候选方案,最终通过Dafny验证器验证修复的有效性。
- 技术步骤:
- 故障定位:基于霍尔逻辑推导程序中每条语句的状态,通过验证状态与规范的一致性定位可疑语句;
- 修复生成:使用GPT-4o mini、Llama 3、Mistral 7B、Llemma 7B等LLMs生成修复候选;
- 验证筛选:将候选修复插入程序后,通过Dafny验证器验证,最多尝试3次,成功则保留修复结果。
- 评估结果:在DafnyBench基准测试集上,故障定位准确率达89.6%;GPT-4o mini的修复成功率最高,达74.18%,显著优于其他模型。
文章创新点
- 提出了一种基于形式化规范的Dafn

订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



