论文

单个补丁是不够的:修复候选者的确定性融合

A Single Patch Is Not Enough: Deterministic Fusion of Repair Candidates

模型推理推理验证与自校正

摘要

现代 LLM 编码智能体 通常使用 pass@k 进行评估,但开发人员通常在实际设置中应用单个最终补丁。这种 pass@k-to-pass@1 差距是一个后生成问题:候选补丁池可能包含正确的补丁,但系统必须决定向开发人员建议哪一个补丁。现有的后生成方法主要对整个候选者进行排名,通过测试对其进行过滤,或查询 LLM 法官,但没有一个确定性地重用共享的编辑原子证据来选择和构建最终补丁。因此,我们提出了 PatchFusion,这是一种针对候选补丁的确定性原子证据融合方法,在决策时不参考任何测试结果。 PatchFusion 首先将整体差异一致性融合到修复邻域中,选择可审计的代表,然后应用证据约束融合 (ECF) 来保留重复编辑原子并修剪不受支持的部分。为了评估此设置,我们构建了 PatchFuseBench,这是一个固定池基准测试,涵盖 SWE-bench Verified、SWE-bench Multilingual 和 Defects4J 候选补丁。在 PatchFuseBench 上,PatchFusion 在 SWE-bench Verified 上解决了 426/500 个错误,在 SWE-bench Multilingual 上解决了 236/300 个错误,并在 Defects4J 上达到了 87/371 个合理补丁,在所有三个测试中均优于所有匹配的候选池选择器。 PatchFusion 修复了 41 和 27 个没有单一来源能够解决的错误(比最好的单一来源多出 30 和 18 个)。消融研究表明,ECF 通过恢复选择错过的池内修复增加了 +5/+6/+9 已解决的错误,没有观察到回归,并且随着候选池重新采样,PatchFusion 的增益保持稳定。在这些互补的多源池上,跨候选证据比我们评估的基于测试和基于 LLM 的选择器恢复了更多正确的补丁,成本低几个数量级,在两个 SWE 基准测试中达到了候选可达上限的 96.2% 和 89.7%。