JETO-Bench: Java의 실행 시간 개선 패치에 대한 재현 가능한 벤치마크
요약
Java 프로젝트의 실행 시간 개선 패치(ETIP)를 자동으로 식별하고 재현 가능한 벤치마크를 생성하는 도구인 JETO-Mine을 소개합니다. JETO-Mine은 정적·동적 분석을 통해 지속적으로 새로운 벤치마크를 구축할 수 있는 재사용 가능한 프레임워크를 제공합니다.
핵심 포인트
- Java 전용 실행 시간 개선 패치 벤치마크인 JETO-Bench 구축
- JETO-Mine을 통한 자동화된 패치 식별 및 재현 가능한 환경 제공
- OpenHands 에이전트 테스트 결과 14.3%의 수정 정확도 확인
- Java 프로젝트 내 성능 개선 검증 테스트의 부족함 지적
성능 문제의 자동 수정이 점점 더 많은 관심을 받고 있습니다. 그러나 기존의 실행 시간 개선 패치(execution time improvement patches) 벤치마크는 Python, C++, 또는 .NET을 대상으로 하는 고정된 데이터셋이며, 사용자 정의 설정에 따라 새로운 패치로 확장할 수 없습니다. 본 논문에서는 실제 Java 프로젝트에서 실행 시간 개선 패치(ETIPs)의 재현 가능한 벤치마크를 자동으로 생성하기 위한 최초의 구성 가능하고 재사용 가능한 도구인 JETO-Mine을 제시합니다. JETO-Mine은 세 단계의 파이프라인을 채택합니다: GitHub 저장소를 크롤링하고 사용자 정의 필터와 LLM 기반 이슈 분류기를 사용하여 ETIP를 식별하는 정적 분석(static analysis) 단계, 식별된 ETIP를 Docker 이미지로 래핑하여 완전히 재현 가능한 실행을 보장하고 실행 시간 개선의 객관적 증거를 찾기 위해 통계적 테스트를 수행하는 동적 분석(dynamic analysis) 단계, 그리고 생성된 패치와 생성된 테스트 모두에 대한 정량적 평가를 가능하게 하는 평가 하네스(evaluation harness) 단계입니다. 기존 벤치마크와 달리, JETO-Mine은 연구자들이 자신들이 원하는 필터와 통계적 엄밀성 수준을 사용하여 지속적으로 새로운 벤치마크를 수집할 수 있도록 재사용 가능한 도구로 설계되었습니다. 우리는 JETO-Mine을 사용하여 174개의 오픈 소스 Java 저장소에서 수집된 660개의 식별된 ETIP와 91개의 수동 검증된 실행 가능한 ETIP로 구성된 벤치마크인 JETO-Bench를 구축했습니다. JETO-Bench를 구축하기 위해 JETO-Mine은 11년간의 오픈 소스 개발 이력과 거의 180만 개의 커밋을 스캔합니다. 우리는 선도적인 오픈 소스 코딩 에이전트인 OpenHands를 JETO-Bench의 91개 수동 검증된 실행 가능한 ETIP에 실행하였으며, 그 결과 OpenHands가 이슈의 14.3%(13/91)를 정확하게 수정한다는 것을 발견했습니다. 이는 다른 프로그래밍 언어에 대한 유사한 연구에서 보고된 결과와 일치합니다. 우리의 결과는 또한 오픈 소스 Java 프로젝트에 실행 시간 개선을 입증하는 테스트가 크게 부족함을 보여주며, 이는 테스트 생성 분야의 향후 연구 기회를 제시합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv Codex (cs.SE)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기