단일 패치는 충분하지 않다: 수정 후보들의 결정론적 융합 (Deterministic Fusion of Repair Candidates)
요약
LLM 코딩 에이전트가 생성한 여러 패치 후보 중 최적의 패치를 선택하기 위한 결정론적 융합 방식인 PatchFusion을 제안합니다. PatchFusion은 편집 원자 증거를 재사용하여 후보들을 융합함으로써, 단일 소스로 해결 불가능한 버그를 복구하고 높은 성능을 보여줍니다.
핵심 포인트
- pass@k와 pass@1 사이의 격차를 줄이기 위한 생성 후(post-generation) 접근법 제안
- 결정론적 원자 증거 융합(PatchFusion)을 통한 최적의 패치 구성
- SWE-bench 및 Defects4J 벤치마크에서 기존 선택기 대비 우수한 성능 입증
- 단일 소스로 해결할 수 없는 버그를 다중 소스 융합을 통해 복구 가능
현대의 LLM 코딩 에이전트(coding agents)는 일반적으로 pass@k를 사용하여 평가되지만, 개발자들은 실제 환경에서 보통 단 하나의 최종 패치(patch)만을 적용합니다. 이러한 pass@k와 pass@1 사이의 격차는 생성 후(post-generation)의 문제입니다. 즉, 후보 패치 풀(candidate patch pool)에 올바른 패치가 포함되어 있을 수 있지만, 시스템은 개발자에게 어떤 것을 제안할지 결정해야 합니다. 기존의 생성 후 접근 방식들은 주로 전체 후보를 순위 매기거나, 테스트로 필터링하거나, LLM 판사(LLM judge)에게 질의하지만, 공유된 편집 원자(edit-atom) 증거를 결정론적으로 재사용하여 최종 패치를 선택하고 구성하는 방식은 없습니다. 이에 따라, 우리는 결정 시점에 테스트 결과를 참조하지 않는 후보 패치용 결정론적 원자 증거 융합(deterministic atomic evidence fusion) 방식인 PatchFusion을 제안합니다. PatchFusion은 먼저 전체 차이(whole-diff) 일치성을 수정 이웃(repair neighborhood)으로 융합하고, 감사 가능한 대표를 선택한 다음, 반복되는 편집 원자를 유지하고 지원되지 않는 부분을 제거하기 위해 증거 제약 융합(evidence-constrained fusion, ECF)을 적용합니다. 이 설정을 평가하기 위해, 우리는 SWE-bench Verified, SWE-bench Multilingual 및 Defects4J 후보 패치를 포함하는 고정 풀 벤치마크인 PatchFuseBench를 구축했습니다. PatchFuseBench에서 PatchFusion은 SWE-bench Verified에서 500개 중 426개의 버그를 해결하고, SWE-bench Multilingual에서 300개 중 236개를 해결하며, Defects4J에서 371개의 그럴듯한 패치 중 87개에 도달하여, 세 가지 모두에서 매칭된 모든 후보 풀 선택기(candidate-pool selector)보다 뛰어난 성능을 보였습니다. PatchFusion은 단일 소스로는 해결할 수 없는 41개 및 27개의 버그를 복구했습니다(최상의 단일 소스보다 각각 30개 및 18개 더 많음). 절제 연구(Ablation studies)에 따르면, ECF는 선택 과정에서 놓치는 풀 내의 수정을 복구함으로써 해결된 버그를 +5/+6/+9개 추가하며, 성능 저하는 관찰되지 않았습니다. 또한 PatchFusion의 이점은 후보 풀이 재샘플링되어도 안정적으로 유지됩니다. 이러한 상호 보완적인 다중 소스 풀에서, 후보 간 증거(cross-candidate evidence)는 우리가 평가한 테스트 기반 및 LLM 기반 선택기보다 훨씬 낮은 비용으로 더 많은 올바른 패치를 복구하며, 두 SWE-bench 벤치마크에서 후보 도달 가능 상한선(candidate-reachable ceiling)의 96.2% 및 89.7%에 도달합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv Codex (cs.SE)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기