EffiHolmes: 차분 프로파일링 가이드를 통한 저장소 수준의 시간 비효율성 수정 위치 국소화
요약
EffiHolmes는 대규모 소프트웨어의 시간 비효율성 수정 위치를 국소화하기 위한 LLM 기반 프레임워크입니다. 차분 프로파일링과 도메인 가이드 LLM 추론을 통해 실행 노이즈를 극복하고 근본적인 비효율성 로직을 찾아냅니다.
핵심 포인트
- 차분 프로파일링을 통한 비효율성 핫스팟 식별
- 압축된 실행 경로 추출로 의미론적 격차 해소
- 최초의 저장소 수준 비효율성 벤치마크 RepoEffi-Bench 제안
- 기존 검색 및 에이전트 기반 베이스라인 대비 성능 우위 입증
대규모 소프트웨어 시스템은 기능적 정확성에도 불구하고 과도한 실행 시간을 유발하는 시간 비효율성(time inefficiencies) 문제를 자주 겪습니다. 이러한 수정 위치를 국소화(Localizing)하는 것은 어렵습니다. 왜냐하면 기능적 버그와 달리, 시간 비효율성은 테스트 실패나 스택 트레이스(stack-trace) 단서를 생성하지 않으므로 전통적인 방식이나 최근의 LLM 기반 결함 국소화(fault localization) 방법들을 적용하기 부적합하기 때문입니다. 런타임 프로파일링(Runtime profiling)은 대안적인 증거를 제공하지만, 저장소 수준(repository-level) 설정에서는 세 가지 문제에 직면합니다. 첫째, 단일 실행 프로파일링은 실행 노이즈(execution noise)로부터 비효율성 핫스팟(inefficiency hotspots)을 신뢰성 있게 구분할 수 없습니다. 둘째, 기존 프로파일러는 광범위한 백그라운드 실행으로부터 관련 실행 경로를 추출하는 데 어려움을 겪습니다. 셋째, 관찰된 핫스팟과 실제 수정 위치 사이에는 의미론적 격차(semantic gap)가 존재합니다. 우리는 저장소 수준의 시간 비효율성 수정 위치 국소화를 위한 LLM 기반 프레임워크인 EffiHolmes를 제안합니다. EffiHolmes는 기본 및 확장된 워크로드 하에서 차분 프로파일링(differential profiling)을 사용하여 비효율성 핫스팟을 식별하고, 이러한 핫스팟을 보고된 비효율적 함수와 연결하는 압축된 실행 경로를 추출하며, 도메인 가이드 LLM 추론(domain-guided LLM reasoning)을 채택하여 근본적인 비효율성 로직을 찾아냅니다. 또한 우리는 인기 있는 Python 저장소에서 수집한 140개의 고품질 이슈를 포함하는, 저장소 수준 비효율성 국소화를 위한 최초의 벤치마크인 RepoEffi-Bench를 소개합니다. 실험 결과, EffiHolmes는 최신 검색(retrieval), 에이전트(agent), 프로파일링 기반 베이스라인들을 일관되게 능가하며, GPT-5.1을 사용할 경우 파일 수준 Acc@3를 4.29%포인트 향상시키고, qwen3-4b를 사용할 경우 함수 수준 Acc@5를 15.00%포인트 향상시켰습니다. 또한 모델 용량에 관계없이 견고함(robust)을 유지합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv Codex (cs.SE)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기