一句话:提出 SpecRover,一种基于 LLM 智能体的迭代规约推断与代码搜索工作流,显著提升自动程序修复效果并降低成本。
论文关注 LLM 智能体在自动程序改进中的规约推断问题。给定 GitHub issue,SpecRover 在 AutoCodeRover 基础上执行迭代式代码搜索与规约推断,从项目结构和行为中提取意图,并由审查智能体对补丁进行审核和置信度评估。在包含 2294 个 issue 的完整 SWE-Bench 上,其效果比 AutoCodeRover 提升超过 50%,SWE-Bench lite 上平均每个 issue 成本约 0.65 美元。该方法还能生成解释,为开发者提供补丁可接受性的信号,表明规约推断在 LLM 时代的自动程序修复中仍具重要性。
Autonomous program improvement typically involves automatically producing bug fixes and feature additions. Such program improvement can be accomplished by a combination of large language model (LLM) and program analysis capabilities, in the form of an LLM agent. Since program repair or program improvement typically requires a specification of intended behavior - specification inference can be useful for producing high quality program patches. In this work, we examine efficient and low-cost workflows for iterative specification inference within an LLM agent. Given a GitHub issue to be resolved in a software project, our goal is to conduct iterative code search accompanied by specification inference - thereby inferring intent from both the project structure and behavior. The intent thus captured is examined by a reviewer agent with the goal of vetting the patches as well as providing a measure of confidence in the vetted patches. Our approach SpecRover is built on the open-source LLM agent AutoCodeRover. In an evaluation on the full SWE-Bench consisting of 2294 GitHub issues, it shows more than 50% improvement in efficacy over AutoCodeRover. Compared to the open-source agents available, our work shows modest cost ($0.65 per issue) in resolving an average GitHub issue in SWE-Bench lite. The production of explanation by SpecRover allows for a better “signal” to be given to the developer, on when the suggested patches can be accepted with confidence. SpecRover also seeks to demonstrate the continued importance of specification inference in automated program repair, even as program repair technologies enter the LLM era.
DOI 原文 ·
@inproceedings{paperbot8725,
title = {SpecRover: Code Intent Extraction via LLMs},
author = {Haifeng Ruan and Yuntong Zhang and Abhik Roychoudhury},
booktitle = {ICSE},
year = {2025},
doi = {10.1109/icse55347.2025.00080}
}