SWE-Doctor: 다각적 버그 재현 테스트의 런타임 진단을 통한 소프트웨어 엔지니어링 에이전트 가이드
요약
SWE-Doctor는 다각적인 버그 재현 테스트(BRT)와 런타임 진단을 활용하여 소프트웨어 이슈를 해결하는 에이전트 프레임워크입니다. 기존의 단순 BRT 방식이 가진 한계를 극복하고, 런타임 진단 정보를 통해 패치 생성의 정확도를 높였습니다.
핵심 포인트
- 단순 BRT 기반 패치 생성의 한계(오도 가능성) 분석
- 다각적 BRT 실행을 통한 런타임 진단 및 위치 정보 구축
- SWE-bench Verified에서 75.7%의 높은 해결률 달성
- SWE-bench Pro에서 기존 에이전트 대비 성능 대폭 향상
대규모 언어 모델 (LLM) 기반의 소프트웨어 엔지니어링 에이전트는 이슈 보고서와 코드 저장소로부터 패치 (patch)를 생성하여 소프트웨어 문제를 해결하기 위해 점점 더 많이 개발되고 있습니다. 버그 재현 테스트 (Bug reproduction tests, BRTs)는 이러한 에이전트의 중요한 구성 요소이며 패치 검증에 유용하다는 것이 입증되었습니다. 그러나 BRTs가 패치 생성이라는 더 핵심적인 단계에도 도움이 될 수 있는지는 여전히 불분명합니다. 우리는 먼저 예비 연구를 수행하여 고급 BRT 생성기를 사용하여 패치 생성을 직접 가이드하는 것이 유익하지 않다는 것을 발견했습니다. 즉, 실패-실패 (fail-to-fail) BRTs는 에이전트를 오도할 수 있으며, 심지어 실패-통과 (fail-to-pass) BRTs조차 제한적이거나 부정적인 이득만을 가져옵니다. 우리의 분석은 두 가지 이유를 밝혀냈습니다. 실패-통과 (fail-to-pass) BRTs는 보고된 이슈의 한 가지 현상만을 다룰 수 있어 부분적인 패치로 이어질 수 있는 반면, 실패-실패 (fail-to-fail) BRTs는 직접적인 패치 생성 대상으로 사용하기에 신뢰할 수 없다는 점입니다. 이러한 통찰을 바탕으로, 우리는 다각적인 BRT 실행에서 도출된 런타임 진단 (runtime diagnoses)으로 패치 생성을 가이드하는 소프트웨어 이슈 해결 에이전트인 SWE-Doctor를 제안합니다. SWE-Doctor는 먼저 이슈에 명시된 다양한 동작 요구 사항에 대해 다각적인 BRTs를 생성한 다음, 이러한 BRTs를 실행하고 디버깅하여 런타임에 기반한 진단 기록을 구축하며, 마지막으로 BRT 생성 중에 추론된 위치 정보 (localization information)와 함께 진단을 사용하여 패치 생성을 가이드하고 부분적인 패치를 줄입니다. 우리는 다섯 가지 LLM 백엔드에 걸쳐 널리 채택되는 SWE-bench Verified 및 SWE-bench Pro의 Python 버그 수정 이슈를 대상으로 SWE-Doctor를 평가합니다. SWE-Doctor는 10가지 LLM-벤치마크 조합 모두에서 기존 에이전트들을 지속적으로 능가하며, SWE-bench Verified에서 75.7%, SWE-bench Pro에서 59.4%의 평균 해결률을 달성했습니다. 특히 더 도전적인 SWE-bench Pro에서 SWE-Doctor는 베이스라인 에이전트 대비 평균 해결률을 8.0-8.9 퍼센트 포인트 향상시켰습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv Codex (cs.SE)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기