AdaRepair-Mem:面向仓库级程序修复的自适应经验编排
AdaRepair-Mem: Adaptive Experience Orchestration for Repository-Level Program Repair
精选理由
提出按覆盖度、质量与修复阶段检索经验,提升代码修复成功率并减少噪声。
AI 摘要
近期,基于记忆增强的仓库级程序修复方法会复用历史修复经验,以改进基于 LLM 的问题解决。然而,我们的分析揭示了现有仓库级记忆检索存在三个局限。第一,不同仓库之间的情景记忆高度不均衡,导致资源匮乏的仓库几乎无法获得有效支持。第二,更多记忆并不会单调地带来更高的修复成功率,这表明相关性、质量和冗余性比记忆数量本身更为重要。第三,记忆积累与修复阶段不匹配:仓库中可能包含大量复现经验,却只有很少的补丁或细化经验。为解决这些问题,我们提出了一种面向仓库级程序修复的自适应经验检索框架。该框架引入了覆盖感知检索:当同一仓库中的记忆不足时,回退使用跨仓库记忆或基于修复类型的记忆;引入了质量感知选择:依据相关性、历史效用、特异性和冗余性对记忆进行排序;还引入了阶段感知路由:分别为复现、定位、补丁生成、补丁细化和验证阶段分离并检索记忆。在 SWE-Bench-Lite 和 SWE-Bench-Verified 上的评估表明,所提出的框架提升了覆盖不足仓库上的修复性能,减少了噪声记忆的检索,并更好地支持从失败补丁到修复完成的补丁细化。我们的结果表明,记忆增强修复的关键并不只是积累更多经验,而是针对正确的修复上下文检索正确的经验。