LLM2D
Google 中的代理型漏洞再现以实现有效的自动化程序修复
Agentic Bug Reproduction for Effective Automated Program Repair at Google
作者: Runxiang Cheng, Michele Tufano, J\"urgen Cito, Jos\'e Cambronero, Pat Rondon, Renyao Wei, Aaron Sun, Satish Chandra
发布日期: 2/5/2025
arXiv ID: 2502.01821

摘要

arXiv:2502.01821v1 类型: cross 摘要:bug报告往往缺乏开发者重现和修复潜在缺陷所需的具体细节。 bug重现测试(BRTs,当存在bug时会失败,修复后会通过的测试)对于调试至关重要,但在开源和工业环境中,它们很少包含在bug报告中。因此,从bug报告自动生成BRTs有潜力加速调试过程并减少修复时间。本文研究了在工业环境中自动生成BRTs,特别是在谷歌的具体情况,集中于大型专有代码库的挑战,并考虑了从谷歌内部问题跟踪器提取的真实世界工业bug。我们调整并评估了一项最先进的BRT生成技术LIBRO,并提出了一种基于代理的方法BRT Agent,该方法利用微调的大规模语言模型(LLM)进行代码编辑。我们的BRT Agent在32个人工报告的bug(谷歌内部问题跟踪器的80个bug)中显著优于LIBRO,实现了28%的可信BRT生成率,而LIBRO仅为10%。我们进一步研究了生成的BRTs的实际价值,通过将其与谷歌的自动程序修复系统(APR)结合使用。我们的结果表明,向APR系统提供BRTs可导致28%更多的有可信修复的bug。此外,我们引入了集成通过率(EPR),这是一种指标,利用生成的BRTs来从APR系统生成的所有修复中选择最有希望的修复。我们对EPR在Top-K和基于阈值的修复选择中的评估显示了有希望的结果和权衡。例如,基于其排名第一,EPR在20个候选修复中正确选择了可信修复的70%的情况。