LLM2D
谷歌环境下有效的自动化程序修复中的代理型Bug重现
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: oai:arXiv.org:2502.01821v1

摘要

arXiv:2502.01821v1 类别: cross 摘要:bug报告往往缺乏开发人员重现和修复潜在缺陷所需的足够详细信息。当存在bug时失败并在bug已被修复时通过的测试被称为Bug Reproduction Tests(BRTs),这些测试对于调试至关重要,但在开源和工业环境中,BRTs通常不会包含在bug报告中。因此,从bug报告中自动生成BRTs有潜力加速调试过程并降低修复时间。本文研究了在工业环境中自动生成BRTs,特别是在Google的具体环境中,重点关注大型专有代码库的挑战,并考虑从Google内部问题跟踪器中提取的实际工业bug。我们适应并评估了一种最先进的BRT生成技术LIBRO,并提出了一种基于代理的 approach,BRT Agent,该方法利用微调的大语言模型(LLM)进行代码编辑。我们的BRT Agent在Google内部问题跟踪器上的人工报告的80个bug中,实现了28%的可能BRT生成率,而LIBRO仅为10%。我们进一步通过将生成的BRT与Google的自动化程序修复系统(APR)结合,探讨了生成BRT的实际价值。结果显示,将BRT提供给APR系统可以导致带有可能修复的bug增加30%。此外,我们引入了Ensemble Pass Rate(EPR)这一指标,该指标利用生成的BRT来从APR系统生成的所有修复中选择最有前途的修复。我们对EPR在Top-K和阈值基础上的修复选择进行了评估,结果表现出色且具有权衡。例如,基于其top-1排名,EPR在70%的情况下能够正确从20个候选修复中选择一个可能的修复。