핵심 요약
현재의 LLM은 코드를 디버깅할 때 버그가 있는 부분만 정밀하게 수정하기보다 코드 전체를 새로 작성하는 '재생성' 경향이 강하다는 사실을 밝혀냈다. 이는 대규모 코드베이스에서 코드 리뷰 비용을 높이고 예기치 못한 부작용을 초래할 수 있어, 단순 테스트 통과 여부를 넘어선 정밀한 디버깅 평가 지표가 필요함을 시사한다.
왜 중요한가
현재의 LLM은 코드를 디버깅할 때 버그가 있는 부분만 정밀하게 수정하기보다 코드 전체를 새로 작성하는 '재생성' 경향이 강하다는 사실을 밝혀냈다. 이는 대규모 코드베이스에서 코드 리뷰 비용을 높이고 예기치 못한 부작용을 초래할 수 있어, 단순 테스트 통과 여부를 넘어선 정밀한 디버깅 평가 지표가 필요함을 시사한다.
핵심 기여
PDB(Precise Debugging Benchmark) 프레임워크 제안
기존 코딩 데이터셋을 정밀도 평가가 가능한 디버깅 벤치마크로 자동 변환하는 파이프라인을 구축했다. 원자적 버그를 합성하고 이를 조합하여 다중 버그 프로그램을 생성하는 기능을 포함한다.
새로운 평가 지표: Edit-level Precision 및 Bug-level Recall
모델이 수정한 내용 중 실제 필요한 수정의 비율을 측정하는 정밀도와 해결된 버그의 비율을 측정하는 재현율 지표를 정의하여 모델의 디버깅 품질을 다각도로 평가한다.
프론티어 모델의 재생성 경향성 폭로
GPT-5.1-Codex, DeepSeek-V3.2-Thinking 등 최신 모델들이 높은 테스트 통과율을 보임에도 불구하고, 실제로는 불필요한 코드 재작성을 과도하게 수행하여 정밀도가 매우 낮음을 실험으로 증명했다.
핵심 아이디어 이해하기
기존의 코드 디버깅 평가는 주로 Unit Test 통과 여부에만 의존했다. 이는 모델이 단 한 줄의 버그를 고치기 위해 함수 전체를 새로 작성하더라도, 결과적으로 테스트만 통과하면 만점을 주는 구조적 한계를 가진다. 이러한 방식은 모델이 코드의 논리적 결함을 이해하고 최소한의 수정을 가하는 '정밀 디버깅' 능력을 갖추었는지 판별하지 못한다.
PDB는 이를 해결하기 위해 '원자적 버그(Atomic Bug)' 개념을 도입한다. 소스 코드에서 논리적으로 독립적인 최소 단위의 오류를 주입하고, 모델이 이 오류를 수정하기 위해 가한 편집(Edit)이 실제 정답 편집과 얼마나 일치하는지를 계산한다. 이는 딥러닝의 Precision-Recall 개념을 코드 편집 단위에 적용한 것으로, 불필요한 수정을 가할수록 Precision 점수가 낮아지도록 설계되었다.
결과적으로 모델이 단순히 정답을 '알고 있는 것'과 기존 코드의 맥락을 유지하며 '최소한으로 수리하는 것'을 구분할 수 있게 된다. 실험 결과, 최신 모델들은 최소한의 수정을 지시받더라도 습관적으로 코드를 통째로 갈아엎는 방식을 택하며, 이는 모델의 학습 과정에서 '정밀한 로컬 수정'보다 '전체적인 정답 생성'이 더 강하게 학습되었음을 의미한다.
관련 Figure

모델이 단 몇 줄의 수정으로 해결 가능한 버그를 고치기 위해 전체 코드를 새로 작성(재생성)하는 모습을 시각화한다. 초록색 선은 정밀한 수정을, 회색 배경은 불필요한 과잉 수정을 나타내어 본 논문의 핵심 문제 의식을 보여준다.
GPT-5.2가 이진 탐색 코드의 버그를 수정하는 실제 사례를 보여주는 다이어그램이다.
방법론
PDB 파이프라인은 데이터 수집, 벤치마크 생성, 평가의 세 단계로 구성된다. 먼저 기존 코딩 벤치마크에서 성공적인 솔루션을 수집한 후, LLM을 사용하여 Assignment, Checking, Algorithm 등 5가지 범주의 원자적 버그를 생성한다. [정상 코드 입력 → LLM 버그 주입 → Unit Test 실패 확인 → 유효한 버그 데이터셋 생성]
생성된 원자적 버그들은 독립성을 유지하며 다중 버그 프로그램으로 조합된다. 이때 각 버그 간의 거리를 최소 3~5줄 이상으로 유지하는 Stride 제약을 두어 버그 간의 간섭을 방지한다. [개별 버그 선택 → 라인 거리 제약 적용 → 다중 버그 코드 합성 → 복합 디버깅 문제 생성]
평가 단계에서는 모델의 예측 편집 세트 E_hat과 정답 편집 세트 E_gt를 비교한다. 특히 ϵ-relaxed precision 지표를 사용하여, 의미적으로는 동일하지만 표현이 약간 다른 수정을 허용하면서도 과도한 재생성을 효과적으로 페널티화한다. [예측 편집 추출 → 정답 편집과 매핑 → 필수 편집 크기 계산 → 최종 정밀도 산출]
관련 Figure

기존 벤치마크에서 데이터를 수집하여 원자적 버그를 생성하고, 이를 조합하여 정밀도와 재현율을 측정하는 전체 과정을 단계별로 보여준다. 특히 (c) 섹션에서 예측된 편집과 정답 편집을 매핑하여 점수를 산출하는 메커니즘이 상세히 묘사되어 있다.
PDB 프레임워크의 데이터 수집, 생성 및 평가 파이프라인을 설명하는 순서도이다.
주요 결과
Claude-4.5-Sonnet과 Gemini-2.5-Pro는 PDB-SINGLE-HARD 벤치마크에서 71% 이상의 정밀도를 기록하며 가장 우수한 성능을 보였다. 반면 GPT-5.1-Codex는 Unit Test 통과율은 76.1%로 높았으나 정밀도는 39.7%에 그쳐, 전형적인 '재생성 위주'의 디버깅 패턴을 보였다.
반복적(Iterative) 디버깅이나 에이전트(Agentic) 방식의 전략을 사용했을 때, Unit Test 통과율과 Recall은 향상되었으나 Precision은 오히려 정체되거나 하락하는 경향을 보였다. 이는 피드백을 받을수록 모델이 더 넓은 범위의 코드를 수정하여 문제를 해결하려 하기 때문으로 분석된다.
프롬프트 실험에서 '최소한의 수정' 지시를 제거하고 자유롭게 디버깅하게 했을 때, 모든 모델의 정밀도가 급격히 하락했다. 특히 Gemini-2.5-Pro는 정밀도가 약 40%p 하락하여, 모델의 디버깅 능력이 내재적인 이해보다는 지시문 준수에 크게 의존하고 있음이 확인됐다.
관련 Figure

BigCodeBench와 LiveCodeBench에서 유래된 데이터가 1개에서 4개의 버그를 가진 프로그램으로 어떻게 구성되는지 보여준다. Algorithm, Assignment 등 다양한 버그 유형이 고르게 분포되어 있음을 확인할 수 있다.
PDB-SINGLE-HARD 데이터셋의 버그 개수 및 카테고리별 분포를 나타내는 생키 다이어그램이다.

Gemini-2.5-Pro가 모든 카테고리에서 균일하게 높은 성능을 보이는 반면, 다른 모델들은 특정 유형(예: Build/Package/Merge)에서 더 높은 성능을 보임을 알 수 있다. 이는 모델별로 강점이 있는 버그 유형이 다름을 시사한다.
버그 카테고리별 모델들의 재현율(Recall) 분포를 보여주는 레이더 차트이다.
기술 상세
PDB는 ODC(Orthogonal Defect Classification) 체계를 활용하여 버그의 다양성을 확보한다. 각 버그는 원자성(Atomicity)과 독립성(Independence)을 만족해야 하며, 이를 위해 부분 수정을 가했을 때 여전히 테스트에 실패하는지 확인하는 필터링 과정을 거친다.
편집 정밀도 계산을 위해 알고리즘적으로 예측 편집과 정답 편집을 매핑하는 map 함수를 구현했다. 이 함수는 라인 단위 일치(Exact Match)뿐만 아니라 구조적 포함 관계, 로컬 컨텍스트 유사도 등을 고려하여 블록 단위의 매핑을 수행한다.
실험에 사용된 모델들은 32,000 토큰(Thinking 모델) 또는 8,000 토큰(Non-thinking 모델)의 출력 제한과 1.0의 Temperature 설정으로 평가되었다. 데이터 오염 가능성을 배제하기 위해 정답 솔루션을 의미적으로 재작성한 후 버그를 주입하는 통제 실험을 수행했으며, 오염이 재생성 경향의 근본 원인이 아님을 입증했다.
한계점
현재 PDB는 버그 간의 완전한 독립성을 가정하고 있으나, 실제 소프트웨어 시스템에서는 버그들이 서로 복잡하게 얽혀 있는 경우가 많다. 또한 현재 평가 체계는 Python 언어에 집중되어 있어 다른 프로그래밍 언어로의 확장이 필요하다.
실무 활용
코드 리뷰 자동화 도구나 AI 코딩 어시스턴트 개발 시, 모델이 기존 코드 스타일을 파괴하지 않고 버그만 정확히 고치도록 유도하는 평가 지표로 활용 가능하다.
- 엔터프라이즈 코드베이스의 자동 버그 수정 시스템 평가
- 코드 리뷰 시 불필요한 변경 사항을 최소화하는 디버깅 에이전트 튜닝
- LLM의 코드 편집 정밀도를 높이기 위한 Post-training 데이터셋 필터링
코드 공개 여부: 공개
코드 저장소 보기키워드
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.