论文
RETRACE:从纠缠的修复历史到 CI 修复的可重用经验
RETRACE: From Entangled Repair Histories to Reusable Experience for CI Repair
摘要
大语言模型 (LLM) 智能体越来越多地重用以前的经验,但大多数方法都假设问题和解决方案已经一致。软件历史很少提供这种一致性:拉取请求 (PR) 可能包含多个持续集成 (CI) 问题、失败的尝试、恢复的编辑和不相关的更改,从而模糊了哪些更改解决了每个问题。我们提出了 RETRACE,一个从此类历史中重建问题级修复经验的框架。 RETRACE 将端点视图与开发视图相结合,端点视图根据传递修订中保留的更改进行向后推理,开发视图通过提交历史记录向前跟踪修复演变。 CI 执行证据协调了这两种观点,并且恢复的经验以三个抽象级别表示,从具体修复到可转移的修复模式。对于新的故障,RETRACE检索相关问题级经验来指导修复。在 CI-REPAIR-BENCH 上,包括来自 101 个存储库、12 个故障类别的 565 个 PR 级修复,RETRACE 将 MiniMax-M2.5 的 mini-SWE-智能体 Pass@1 从 19.6% 提高到 31.9%,使用 DeepSeek-V4-Flash 将 mini-SWE-智能体 Pass@1 从 23.3% 提高到 32.8%。在匹配的子集上,Codex 从 15.5% 提高到 27.5%。结合这两种视图始终优于单独使用任何一种视图,这表明恢复问题-变更一致性可以使历史 CI 修复成为可重用的修复体验。
