Core Concepts
LLM 다중 에이전트 시너지를 통해 버그 위치 파악, 수정, 분석을 자동화하는 통합 디버깅 프레임워크 FixAgent를 제안한다.
Abstract
이 논문은 LLM(Large Language Model)을 활용한 통합 디버깅 프레임워크 FixAgent를 제안한다. FixAgent는 버그 위치 파악, 수정, 분석을 자동으로 수행하는 통합 디버깅 솔루션이다.
FixAgent는 다음과 같은 세 가지 주요 설계를 통해 기존 디버깅 도구의 한계를 극복한다:
전문화된 에이전트 시너지: FixAgent는 버그 위치 파악, 수정, 분석을 각각 담당하는 세 개의 전문화된 LLM 에이전트로 구성된다. 각 에이전트는 "고무 오리" 에게 자신의 작업을 상세히 설명하면서 협력한다.
중간 변수 추적: 각 에이전트는 버그가 있는 프로그램의 중요 변수 값을 추적하고 이를 설명하도록 요구받는다. 이를 통해 에이전트가 프로그램 로직을 따라 분석하도록 유도한다.
프로그램 컨텍스트 구축: FixAgent는 프로그램의 기능 설명, 입출력 형식, 의존성 등의 컨텍스트 정보를 제공하여 LLM이 프로그램의 의도와 동작을 깊이 이해할 수 있도록 한다.
실험 결과, FixAgent는 다양한 벤치마크 데이터셋에서 기존 APR(Automated Program Repair) 도구와 LLM 기반 접근법을 크게 능가하는 성능을 보였다. 특히 QuixBugs 데이터셋에서 79개의 79개 버그를 올바르게 수정했으며, Codeflaws 데이터셋에서는 기존 최고 성능 대비 1.9배 많은 버그를 수정했다. 또한 FixAgent는 다양한 LLM에서 20% 이상의 성능 향상을 보였다.
Stats
개발자들은 프로그래밍 시간의 50% 이상을 디버깅에 소비한다.
디버깅 비용은 연간 수십억 달러에 달한다.
Quotes
"Tremendous efforts have been devoted to automating software debugging, a time-consuming process involving fault localization and repair generation."
"Learning-based techniques have shown promise in both areas. Learning-based FL [16]–[19] models program behavior from source code, execution features, and test outcomes to localize bugs. Learning-based APR [20]–[22] often "translates" buggy code snippets into fixes via neural machine translation (NMT), despite its heavy reliance on high-quality bug-fix pairs for training or fine-tuning [23]."
"Large Language Models (LLMs) have been regarded as the most effective learning models for coding-related tasks, including debugging."