QiMeng-PRepair:通过编辑感知奖励优化实现精准代码修复

发表
Changxin KeChangxin Ke 提交
作者: Changxin KeChangxin Ke, Rui Zhang, Jiaming Guo, Yuanbo Wen, Li Ding, Shuo Wang, Xuyuan Zhu, Xiong Peng, Di Huang, Zidong Du, Xing Hu, Qi Guo, Yunji Chen

摘要

AI 生成总结
PRepair 框架通过结合受控的 Bug 注入和编辑感知策略优化,最大限度地提高正确代码的重用并减少不必要的修改,从而减少程序修复中的过度编辑。
大语言模型(LLM)在程序修复方面表现强劲,但经常遭受“过度编辑”的困扰,即过多的修改覆盖了正确的代码,阻碍了漏洞定位。我们系统地量化了其影响,并引入了“精确修复任务”,即在仅修复漏洞部分的同时最大化正确代码的复用。基于这一见解,我们提出了 PRepair,这是一个减轻过度编辑并提高修复准确性的框架。PRepair 由两个组件组成:自我破坏(Self-Breaking),通过受控的漏洞注入和极大极小采样生成多样的错误程序;以及自我修复(Self-Repairing),通过编辑感知组相对策略优化(EA-GRPO)并使用编辑感知奖励来训练模型,鼓励最小且正确的编辑。实验表明,PRepair 在 fix_1@1 指标下(该指标共同考虑修复正确性和修复程度)将修复精度提高了多达 31.4%,并且在与投机编辑结合时显著增加了解码吞吐量,证明了其在精确且实用的代码修复方面的潜力。
查看 arXiv 页面查看 PDF

评论

Changxin KeChangxin Ke
论文作者
论文提交者

如何处理过度编辑?