← 최신 논문
💻 computer science

ReProAgent: Tool-Augmented Multi-Stage Agentic Generation of Bug Reproduction Tests from Issue Reports

ReProAgent는 버그 재현 테스트 생성을 버그 식별, 근본 원인 분석, 계획, 생성의 국소적 단계로 분해함으로써 기존의 프롬프트 기반 접근 방식보다 뛰어난 성능을 보이는 다단계, 도구 증강 에이전트 프레임워크이며, 다양한 벤치마크에서 현저히 높은 성공률을 달성합니다.

원저자: Quanjun Zhang, Yi Zheng, Ye Shang, Weifeng Sun, Haichuan Hu, Chunrong Fang, Zhenyu Chen, Liang Xiao

게시일 2026-07-13
📖 4 분 읽기☕ 가벼운 읽기

원저자: Quanjun Zhang, Yi Zheng, Ye Shang, Weifeng Sun, Haichuan Hu, Chunrong Fang, Zhenyu Chen, Liang Xiao

원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기

당신이 미스터리를 풀려는 탐정이라고 상상해 보세요. 하지만 당신이 가진 유일한 단서는 "주방에서 이상한 일이 일어났다!"라고 적힌 흐릿하고 손으로 쓴 메모뿐입니다. 소프트웨어의 세계에서 이 메모는 **이슈 리포트(issue report)**입니다. 보통 개발자들은 무엇이 잘못되었는지 추측하고, 이를 증명하기 위한 테스트를 작성한 뒤, 문제를 해결하려고 노력해야 합니다. 하지만 종종 테스트가 없는 경우가 많으며, 이로 인해 과정이 느려지고 좌절감을 줍니다.

한동안 똑똑한 컴퓨터 프로그램들(대규모 언어 모델 또는 LLM이라 불리는)은 이러한 테스트를 자동으로 작성하려고 시도했습니다. 그들은 마치 메모를 읽자마자 "범인은 토스터기인 것 같아!"라고 외치는 탐정들과 같았습니다. 그들은 주변의 몇 가지 단서(코드의 텍스트)를 낚아채서 답을 추측했습니다. 하지만 이 논문은 이러한 접근 방식이 너무 단순하다고 주장합니다. 이는 마치 범죄 현장 사진만 보고 용의자를 심문하거나 알리바이를 확인하지 않은 채 복잡한 살인 미스터리를 풀려고 하는 것과 같습니다. 이러한 기존 방식들은 코드의 서로 다른 부분들(예: "주방", "거실", "지하실")이 어떻게 연결되어 있는지 이해하지 못했기 때문에 실제 문제를 놓치는 경우가 많았습니다.

ReProAgent: 슈퍼 탐정 팀의 등장

저자들은 ReProAgent라는 새로운 시스템을 구축했습니다. ReProAgent는 단순히 답을 추측하는 한 명의 탐정이 아니라, 엄격한 4단계 조사 과정을 따르는 전문화된 에이전트 팀입니다. 그들은 단순히 추측하는 것이 아니라, 조사하고, 분석하고, 계획하고, 실행합니다.

이들의 "탐정 워크플로우"는 다음과 같이 작동합니다:

  1. 탐색 (버그 로컬라이제이션 - Bug Localization): 먼저, 팀은 건물 전체를 훑어보는 것이 아니라, 도서관 사서가 특정 책을 찾는 것처럼 특수 도구를 사용하여 코드를 검색합니다. 그들은 키워드를 찾고 "빵부스러기"(의존성)를 따라가며 정확히 어떤 파일과 코드 라인이 문제를 일으키고 있는지 찾아냅니다.
  2. 심문 (근본 원인 분석 - Root Cause Analysis): 일단 용의자를 찾으면, 그들을 바로 체포하지 않습니다. 그들은 버그가 지나온 정확한 경로를 추적합니다. 그들은 "에러가 어떻게 현관문에서 뒷창문까지 이동했는가?"라고 묻습니다. 그들은 버그가 '어디서' 발생했는지만이 아니라, '왜' 발생했는지를 이해하기 위해 실행 경로의 지도를 만듭니다.
  3. 함정 설계 (테스트 계획 - Test Planning): 함정을 놓기 전에, 그들은 계획을 세웁니다. 그들은 버그가 다시 나타나게 만들기 위해 어떤 조건들이 충족되어야 하는지 정확히 파악합니다. 이는 용의자가 반드시 자신의 범죄를 드러낼 수밖에 없는 특정한 시나리오를 설정하는 것과 같습니다.
  4. 급습 작전 (테스트 생성 및 검토 - Test Generation & Review): 마지막으로, 그들은 테스트(함정)를 작성하고 안전하고 격리된 샌드박스(디지털 놀이터)에서 실행합니다. 하지만 여기서 놀라운 점은, 만약 테스트가 버그를 잡는 데 실패하거나 엉뚱한 것을 잡아내더라도, 팀이 포기하지 않는다는 것입니다. 그들은 결과를 검토하고, "우리가 올바른 범인을 잡았는가?"라고 질문하며 테스트를 개선합니다. 그들은 테스트가 버그를 완벽하게 재현할 때까지 이 과정을 반복합니다.

결과: 효과가 있었는가?

연구팀은 두 가지 큰 규모의 실제 소프트웨어 문제 세트(SWT-bench-liteSWT-bench-verified)를 통해 ReProAgent를 테스트했습니다. 결과는 인상적이었습니다.

  • 작은 규모의 세트(SWT-bench-lite)에서 ReProAgent는 **58.43%**의 사례에서 버그를 성공적으로 재현했습니다.
  • 더 어렵고 검증된 세트(SWT-bench-verified)에서는 **70.30%**의 사례에서 성공했습니다.

이를 비교해 보자면, 차세대 방법(AssertFlip이라는 시스템)은 작은 세트에서 약 **38.0%**의 문제만을 해결할 수 있었습니다. ReProAgent는 단순히 경쟁 상대를 이긴 것이 아니라, 동일한 두뇌(GPT-5-mini 모델)를 사용했을 때 경쟁 시스템보다 약 20 퍼센트 포인트 더 많은 케이스를 해결하며 압도적인 차이를 보여주었습니다.

또한 논문은 이 팀이 다양한 "두뇌"(Qwen3-Coder 및 DeepSeek-V3.2와 같은 다른 AI 모델들)와도 잘 작동하는지 확인했습니다. 결과는 성공적이었습니다! 이 시스템은 모든 모델에서 잘 작동했으며, 이는 가장 똑똑한 단일 탐정을 갖는 것보다 '탐정이 되는 과정' 자체가 더 중요하다는 것을 시사합니다.

이것이 '아닌' 것

논문은 ReProAgent가 '무엇이 아닌지'에 대해서도 매우 명확히 밝히고 있습니다. 이것은 버그를 직접 수정하는 마법 지팡이가 아닙니다. 이 시스템의 역할은 엄격하게 버그가 존재함을 증명하는 테스트를 작성하는 것입니다. 그러나 저자들은 이 테스트를 버그를 실제로 수정하는 다른 시스템에 제공했을 때, 그 시스템들의 성능이 향상된다는 것을 발견했습니다. 예를 들어, ReProAgent의 테스트를 SWE-agent라는 시스템을 돕는 데 사용했을 때, 성공적으로 해결된 이슈의 수가 143개에서 153개로 늘어났습니다.

비용

슈퍼 탐정이 되는 데는 약간의 비용이 듭니다. 논문에 따르면 RePro-Agent를 실행하는 데 케이스당 약 0.14가소요됩니다.이는더단순한방법들(0.14**가 소요됩니다. 이는 더 단순한 방법들(약 **0.11)보다 약간 더 비싸지만, 논문은 문제를 훨씬 더 자주 해결할 수 있기 때문에 몇 센트의 추가 비용을 지불할 가치가 있다고 주장합니다. 대부분의 경우, 시스템은 제대로 된 결과를 얻기 위해 평균적으로 약 1.29회 정도만 "급습 작전"을 수행하면 되었습니다.

결론

이 논문은 복잡한 소프트웨어 미스터리를 해결하기 위해서는 단순히 몇 마디 단어에 기반한 빠른 추측에 의존해서는 안 된다고 제안합니다. 전체 그림을 보고, 에러의 경로를 추적하며, 증거를 재확인하는 구조화된 다단계 조사가 필요합니다. ReProAgent는 AI 에이전트에게 적절한 워크플로우를 부여하면, 그들이 매우 효과적으로 소프트웨어 버그를 찾아내고 증명할 수 있으며, 흐릿한 목격자의 메모를 결정적인 사건 파일로 바꿀 수 있음을 보여줍니다.

연구 분야의 논문에 파묻히고 계신가요?

연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.

Digest 사용해 보기 →