论文

ARISE:用于代理程序修复和故障定位的存储库级图形表示和工具集

ARISE: A Repository-level Graph Representation and Toolset for Agentic Program Repair and Fault Localization

智能体系统Agent Harness

摘要

存储库规模的自动程序修复需要代理在数千个文件中定位故障并合成正确的补丁。现有的基于图的代理表示存储库如何组织为文件、类和函数,但它们没有对变量值如何在过程中流动进行建模,这使得代理无法达到函数级和行级本地化所需的语义精度。我们提出了 ARISE(代理存储库级问题解决引擎),这是一个与框架无关的工具集,它构建多粒度程序图,将结构关系扩展到由过程内定义使用边缘连接的语句级节点,并通过安装在任何工具使用代理框架上的三层工具 API 公开它。核心原语是数据流切片,这是一种可查询的代理工具,可在单个调用中跟踪哪些语句定义或使用感兴趣的变量。在具有开源 Qwen2.5-Coder-32B-Instruct 主干的 SWE-bench Lite(跨 11 个 Python 存储库的 300 个真实 GitHub 问题)上,在 SWE-agent 上安装 ARISE 作为主机解决了 22.0% 的问题 (66/300),比相同主干和主机下未修改的 SWE-agent 基线提高了 4.7 个百分点。我们表明,这种增益很大程度上归因于更清晰的定位,Function Recall@1 (R@1) 从 0.43 上升到 0.60(相对增益 40%),Line R@1 从 0.26 上升到 0.41(相对增益 58%)。受控消融将改进归因于数据流图而不是工具模式,我们进一步将相同的工具集安装在第二个主机框架上以研究其可移植性。图形生成器和切片 API 与任何单个支架分离,形成了用于未来修复研究的嵌入式工具集。