通过可追溯性视角理解自动程序修复代理:一项实证研究
软件工程
2026-05-28 v2 人工智能
摘要
自动程序修复(APR)代理利用大语言模型(LLMs)通过推理、规划和工具使用自主诊断和修复软件缺陷。尽管在SWE-bench等基准测试上取得了令人瞩目的领先成绩,但对这些代理如何采取行动、在哪里失败以及其行为如何与人类开发者进行比较,仍知之甚少。本文对五个最先进的APR代理在500个真实修复任务上进行了首次系统性分析,追溯其完整的决策流程——从问题描述到补丁验证。我们的研究表明,虽然代理在简单修复方面表现出色,但它们在逻辑密集型缺陷上存在困难,经常产生冗长或过拟合的补丁,仅满足现有测试。我们发现测试生成和回归测试选择仍然是主要瓶颈,代理经常无法复现问题或运行相关的回归测试。此外,大多数代理使用原始工具(如bash脚本),缺乏调试器或程序分析器的访问权限,这限制了其推理和补丁质量。这些发现揭示了当前APR系统的关键局限性,并推动了左移方法——强调早期、高质量的测试生成和验证——以减少虚假修复并提高语义正确性。我们进一步概述了下一代APR设计的具体方向:(1) 更丰富和更集成的工具生态系统,(2) 结合互补优势的多样化代理架构,以及(3) 优先考虑语义修复质量和测试生成保真度而非表面级成功指标的基准测试。
引用
@article{arxiv.2506.08311,
title = {Understanding Automated Program Repair Agents Through the Lens of Traceability: An Empirical Study},
author = {Ira Ceka and Hailie Mitchell and Saurabh Pujar and Luca Buratti and Shyam Ramji and Junfeng Yang and Gail Kaiser and Baishakhi Ray},
journal= {arXiv preprint arXiv:2506.08311},
year = {2026}
}
备注
Accepted for publication (ISSTA '26)