paperbot · PL 论文追踪

全部论文 待读 收藏

P0 AutoCodeRover: Autonomous Program Improvement

AutoCodeRover:自主程序改进
ISSTA Proceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and Analysis2024匹配度 8/10 · 该论文构建了面向 GitHub issue 自动修复的 Coding Agent,将 AST 代码搜索与频谱故障定位等程序分析技术融入 LLM 迭代流程,直接对应研究画像中“Agentic 程序(如 Coding Agent)中应用静态分析”的核心方向。虽然不涉及浮点或贝叶斯程序分析,且更偏软件工程落地而非静态分析理论,但问题驱动、基于较强模型、有基准与成本分析,匹配度较高。引用 142 inbox
Yuntong Zhang, Haifeng Ruan, Zhiyu Fan, Abhik Roychoudhury
crossref: 2026-09-12

AI 速览

一句话:结合 LLM 与基于 AST 的代码搜索及频谱故障定位,自动解决 GitHub issue 并生成补丁。

论文关注软件维护与演化中的程序改进自动化,即自动修复 bug 或添加特性,而非仅辅助编码。作者提出 AutoCodeRover:将大语言模型与利用抽象语法树(类/方法结构)的代码搜索能力结合,通过迭代检索增强 LLM 对 issue 根因的理解;当存在测试套件时,进一步用基于频谱的故障定位精化上下文,最终生成程序修改或补丁。在 SWE-bench-lite 的 300 个真实 GitHub issue 上,该方法解决率达到 19%,高于近期 Swe-agent 的报告结果;每个 issue 约 4 分钟(pass@1),而开发者平均耗时超过 2.68 天,且平均成本仅 0.43 美元。作者认为该工作流有助于实现自主软件工程,使 LLM 生成的代码未来可被自主改进。

问题
如何自动化程序改进(如修复 bug、添加特性)以解决真实 GitHub issue,而不仅是辅助开发者编写代码。
方法
提出 AutoCodeRover,以抽象语法树(类/方法)作为程序表示,结合 LLM 与迭代式代码搜索,并在有测试套件时用基于频谱的故障定位精化上下文,最终生成补丁。
评估
在 SWE-bench-lite 的 300 个真实 GitHub issue 上评估,解决率为 19%,优于 Swe-agent;每个 issue 约 4 分钟(pass@1),平均成本 0.43 美元。
原文摘要(Abstract)

Researchers have made significant progress in automating the software development process in the past decades. Automated techniques for issue summarization, bug reproduction, fault localization, and program repair have been built to ease the workload of developers. Recent progress in Large Language Models (LLMs) has significantly impacted the development process, where developers can use LLM-based programming assistants to achieve automated coding. Nevertheless, software engineering involves the process of program improvement apart from coding, specifically to enable software maintenance (e.g. program repair to fix bugs) and software evolution (e.g. feature additions). In this paper, we propose an automated approach for solving Github issues to autonomously achieve program improvement. In our approach called AutoCodeRover, LLMs are combined with sophisticated code search capabilities, ultimately leading to a program modification or patch. In contrast to recent LLM agent approaches from AI researchers and practitioners, our outlook is more software engineering oriented. We work on a program representation (abstract syntax tree) as opposed to viewing a software project as a mere collection of files. Our code search exploits the program structure in the form of classes/methods to enhance LLM’s understanding of the issue’s root cause, and effectively retrieve a context via iterative search. The use of spectrum-based fault localization using tests, further sharpens the context, as long as a test-suite is available. Experiments on the recently proposed SWE-bench-lite (300 real-life Github issues) show increased efficacy in solving Github issues (19% on SWE-bench-lite), which is higher than the efficacy of the recently reported Swe-agent. Interestingly, our approach resolved 57 GitHub issues in about 4 minutes each (pass@1), whereas developers spent more than 2.68 days on average. In addition, AutoCodeRover achieved this efficacy with significantly lower cost (on average, $0.43 USD), compared to other baselines. We posit that our workflow enables autonomous software engineering, where, in future, auto-generated code from LLMs can be autonomously improved.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@inproceedings{paperbot8552,
  title = {AutoCodeRover: Autonomous Program Improvement},
  author = {Yuntong Zhang and Haifeng Ruan and Zhiyu Fan and Abhik Roychoudhury},
  booktitle = {ISSTA},
  year = {2024},
  doi = {10.1145/3650212.3680384}
}