论文

修复前了解:QA 驱动的存储库知识获取以解决软件问题

Know Before Fix: QA-Driven Repository Knowledge Acquisition for Software Issue Resolution

上下文与知识知识获取与更新

摘要

基于 LLM 的 编码智能体 具有显着先进的自动化软件问题解决方案,但它们仍然很容易出现由于存储库理解不足而导致的事实错误。最近的方法试图通过预修复存储库探索来减轻这种限制;然而,他们的修复驱动策略在没有识别代理知识差距的情况下探索存储库,通常会产生不精确的上下文,无法弥补潜在的理解缺陷。在本文中,我们提出了 ACQUIRE,一个用于软件问题解决的 QA 驱动框架。 ACQUIRE 反映了经验丰富的开发人员在尝试修复之前如何首先理解不熟悉的代码,ACQUIRE 在修复之前显式获取存储库知识。该框架通过两个阶段将知识获取与补丁生成解耦:在第一阶段,提问者和回答者协作获取结构化知识库知识,其中提问者提出有针对性的问题,回答者通过自主探索产生基于证据的答案;在第二阶段,解析器利用生成的 QA 知识来生成知情补丁。通过将隐性知识差距转化为明确的、事实上可靠的理解,ACQUIRE 加速了知识密集型修复阶段并实现更准确的解决方案。 SWE-bench Verified 上的实验表明,ACQUIRE 的性能始终优于代表性的预修复方法,以适度的额外成本和时间将 Pass@1 提高了高达 4.4 个百分点。