구글의 자동 프로그램 복구를 위한 획기적인 버그 재현 기술: BRT Agent
구글 연구진이 개발한 BRT Agent는 미세 조정된 LLM을 활용하여 버그 재현 테스트(BRT)를 자동 생성하는 시스템으로, 구글의 자동 프로그램 복구(APR) 시스템과의 통합을 통해 버그 수정 성공률을 30% 향상시켰습니다. 새로운 지표 EPR을 통해 최적의 수정안 선택 정확도 또한 70%까지 달성했습니다.

소프트웨어 버그 수정은 개발자들에게 끊임없는 도전 과제입니다. 특히 버그 보고서가 불충분한 정보만 제공할 경우, 버그를 재현하고 근본적인 결함을 수정하는 데 어려움을 겪습니다. 이러한 문제를 해결하기 위해, 버그가 존재할 때 실패하고 버그가 해결되면 통과하는 '버그 재현 테스트(BRT)'가 중요한 역할을 합니다. 하지만 BRT는 버그 보고서에 거의 포함되지 않는 현실입니다.
구글의 연구진(Runxiang Cheng, Michele Tufano 외)은 이러한 문제에 대한 혁신적인 해결책을 제시했습니다. 바로 BRT Agent 입니다! 이 논문, "Agentic Bug Reproduction for Effective Automated Program Repair at Google" 에서는 구글의 대규모 독점 코드베이스와 실제 버그 데이터를 사용하여 자동 BRT 생성의 가능성을 탐구했습니다.
기존 기술의 한계를 넘어서다
연구진은 기존의 최첨단 BRT 생성 기술인 LIBRO를 개선하고, 여기에 미세 조정된 대규모 언어 모델(LLM) 을 활용한 에이전트 기반 접근 방식을 도입했습니다. 그 결과는 놀라웠습니다. BRT Agent는 LIBRO의 10%에 비해 **28%**라는 훨씬 높은 타당한 BRT 생성률을 달성했습니다. 이는 구글 내부 이슈 추적기에서 수집된 80개의 실제 버그를 대상으로 한 실험 결과입니다.
자동 프로그램 복구(APR) 시스템과의 시너지 효과
하지만 여기서 끝이 아닙니다. 연구진은 생성된 BRT를 구글의 자동 프로그램 복구(APR) 시스템에 통합하여 실질적인 효과를 측정했습니다. 그 결과는 놀라웠습니다. BRT를 APR 시스템에 제공함으로써 30% 더 많은 버그를 수정할 수 있게 되었습니다.
새로운 지표: Ensemble Pass Rate (EPR)
더 나아가, 연구진은 Ensemble Pass Rate (EPR) 이라는 새로운 지표를 제시했습니다. EPR은 생성된 BRT를 활용하여 APR 시스템이 생성한 여러 수정안 중 가장 유망한 수정안을 선택하는 데 도움을 줍니다. 실험 결과, EPR은 20개의 후보 수정안 중에서 최상위 순위(Top-1) 기준으로 **70%**의 정확도로 타당한 수정안을 선택할 수 있음을 보여주었습니다.
결론: 자동화된 버그 수정의 새로운 지평
BRT Agent와 EPR의 등장은 자동화된 프로그램 복구 분야에 획기적인 발전을 가져올 것으로 예상됩니다. 구글의 실제 데이터를 기반으로 한 이 연구는 자동화된 버그 수정의 효율성을 크게 향상시키고 개발자들의 부담을 경감시킬 수 있는 가능성을 제시합니다. 앞으로 더욱 발전된 기술을 통해 소프트웨어 개발의 효율성과 안정성을 높이는 데 기여할 것으로 기대됩니다. 🎉
Reference
[arxiv] Agentic Bug Reproduction for Effective Automated Program Repair at Google
Published: (Updated: )
Author: Runxiang Cheng, Michele Tufano, Jürgen Cito, José Cambronero, Pat Rondon, Renyao Wei, Aaron Sun, Satish Chandra
http://arxiv.org/abs/2502.01821v1