← 최신 논문
💻 computer science

MigrationBench: Repository-Level Code Migration Benchmark from Java 8

본 논문은 Java 8 코드를 최신 장기 지원 (LTS) 버전 (17 및 21) 으로 마이그레이션하기 위한 포괄적인 리포지토리 수준의 벤치마크 및 평가 프레임워크인 MigrationBench 를 소개하며, 에이전트 기반 LLM 프레임워크가 이러한 까다로운 작업에서 높은 성공률을 달성할 수 있음을 보여줍니다.

원저자: Linbo Liu, Xinle Liu, Qiang Zhou, Lin Chen, Yihan Liu, Hoan Nguyen, Behrooz Omidvar-Tehrani, Xi Shen, Jun Huan, Omer Tripp, Anoop Deoras

게시일 2026-05-29
📖 4 분 읽기☕ 가벼운 읽기

원저자: Linbo Liu, Xinle Liu, Qiang Zhou, Lin Chen, Yihan Liu, Hoan Nguyen, Behrooz Omidvar-Tehrani, Xi Shen, Jun Huan, Omer Tripp, Anoop Deoras

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

상상해 보세요. 특정하고 약간 구식인 영어 스타일 (이를 '영어 8'이라고 부르겠습니다) 로 쓰인 책들로 가득 찬 거대하고 오래된 도서관이 있다고 가정해 봅시다. 이 도서관은 수천 권의 책을 보유하고 있으며, 그 모든 책이 현재 완벽한 상태로 보존되어 있습니다.

이제 도서관 이사회가 건물 전체를 새로운 현대식 표준 ('영어 17') 으로 업그레이드하기로 결정했다고 상상해 보세요. 이는 단순히 글꼴을 바꾸는 것이 아니라, 책들이 건물의 새로운 보안 시스템과 엘리베이터와 호환되도록 문법 규칙, 어휘, 그리고 책들의 조직 방식을 업데이트하는 것을 의미합니다.

MigrationBench는 AWS AI 연구원들이 인공지능 (특히 대규모 언어 모델 또는 LLM) 이 이러한 거대한 개조 프로젝트를 얼마나 잘 처리할 수 있는지 테스트하기 위해 만든 거대한 도전 과제입니다.

다음은 그들의 작업을 간단한 비유로 정리한 내용입니다:

1. 문제: 집 한 채가 아닌 도시 전체를 옮기는 것

대부분의 이전 AI 테스트는 로봇에게 누수된 수도꼭지 하나를 고치거나 단 한 문단을 작성하도록 요청하는 것과 같았습니다. 하지만 현실 세계의 소프트웨어는 단일 파일이 아니라 상호 연결된 건물들 (저장소) 로 이루어진 전체 도시입니다.

  • 도전 과제: '영어 8'에서 '영어 17'로 이동하려면 수천 개의 파일을 한 번에 변경해야 합니다. 하나의 길거리 표지판을 변경하면 세 블록 떨어진 곳의 신호등이 고장 날 수 있습니다.
  • 격차: 지금까지는 AI 가 전체 시스템이 붕괴되지 않고 코드 도시 전체를 개조할 수 있는지 확인하는 표준화된 '시험'이 없었습니다.

2. 해결책: 'MigrationBench' 데이터셋

연구원들은 MigrationBench라는 거대한 테스트 세트를 구축했습니다.

  • 전체 데이터셋: 그들은 인터넷 (GitHub 등) 에서 5,102개의 실제 오픈 소스 Java 프로젝트를 수집했습니다. 이를 고품질인지, 적절한 라이선스를 갖췄는지, 현재 완벽하게 작동하는지 확인하기 위해 필터링했습니다.
  • '선택된' 부분 집합: 5,000 개 이상의 모든 프로젝트를 테스트하는 데는 시간이 너무 오래 걸립니다. 따라서 그들은 가장 복잡하고 까다로우며 흥미로운 프로젝트 300개를 직접 선정했습니다. 이는 AI 를 진정으로 시험하기 위해 설계된 데이터셋의 '최종 시험' 버전이라고 생각하시면 됩니다.

3. 게임의 규칙 (평가)

개조가 성공적으로 이루어졌는지 어떻게 알 수 있을까요? 연구원들은 두 가지 난이도 수준을 설정했습니다:

  • 레벨 1: 최소 이주 ('작동함' 테스트)

    • 목표: AI 는 단순히 코드가 컴파일 (빌드) 되고 기존 모든 테스트가 새 버전에서 통과되도록 하면 됩니다.
    • 비유: 건물이 안전하고, 불이 켜지며, 엘리베이터가 작동합니다. 책들은 읽을 수 있습니다.
    • 성공률: 그들의 최상의 AI 설정으로 여기서 **71.67%**의 성공률을 달성했습니다.
  • 레벨 2: 최대 이주 ('현대화' 테스트)

    • 목표: AI 는 작동하게 만들 뿐만 아니라 코드 내부의 모든 도구와 라이브러리를 절대 최신이자 가장 안전한 버전으로 업그레이드해야 합니다.
    • 비유: 건물이 안전할 뿐만 아니라, AI 는 낡은 배관을 새 구리 배관으로 교체하고, 보안 카메라를 4K 로 업데이트하며, 최신 스마트 홈 기능을 설치합니다. 새로운 도구들은 종종 다른 규칙을 가지므로 이는 훨씬 더 어렵습니다.
    • 성공률: 이는 훨씬 더 까다롭습니다. 최상의 AI 설정은 **53.33%**의 성공률을 달성했습니다.

4. 작업자들: AI 에이전트

연구원들은 AI 에게 단순히 '코드를 작성하라'고 요청하지 않았습니다. 그들은 도구를 갖춘 디지털 작업자인 AI 에이전트를 구축했습니다.

  • 기본 작업자: 코드를 보고 오류를 수정하려는 간단한 AI 입니다. 이는 '최대' 업그레이드에서 어려움을 겪었습니다.
  • 스마트 작업자 (프롬프트 엔지니어링): 그들은 기본 작업자에게 모든 것을 업그레이드하도록 구체적으로 지시하는 더 나은 일련의 지시사항을 제공했습니다. 이는 큰 도움이 되었습니다.
  • 연구자 작업자 (RAG): 그들은 작업자가 추측하지 않도록 최신 소프트웨어 버전의 '전화부' (지식 베이스) 를 제공했습니다. 이는 결과를 더욱 개선했습니다.
  • 하이브리드 팀 (승자): 이것이 가장 교묘한 접근 방식이었습니다. 그들은 컴퓨터 프로그램을 사용하여 낡은 도구를 새로운 도구로 자동으로 교체하는 (빠른 로봇식 단계) 작업을 수행한 후, 새로운 도구가 완벽하게 맞지 않는 지저분한 부분을 수정하도록 AI 에이전트가 들어오게 했습니다.
    • 결과: 이 팀은 가장 비싼 AI 작업자만큼 잘 수행했지만, 11% 적은 컴퓨팅 파워를 사용했습니다.

5. 결과

이 논문은 AI 가 작은 코드 문제를 수정하는 데 매우 능숙해지고 있지만, 오래된 버전에서 새로운 버전으로 전체 소프트웨어 '도시'를 개조하는 것은 여전히 거대한 도전 과제임을 보여줍니다.

  • 하이브리드 접근 방식 (자동화 도구와 AI 의 결합) 이 이를 수행하는 가장 효율적인 방법으로 입증되었습니다.
  • 이 데이터셋과 이러한 AI 에이전트의 코드는 이제 공개되어 다른 연구원들이 더 나은 개조 팀을 구축해 볼 수 있습니다.

요약하자면: MigrationBench 는 AI 가 오래된 버전에서 새로운 버전으로 전체 소프트웨어 라이브러리를 이동하는 것을 연습하기 위한 새로운 엄격한 체육관입니다. 이는 AI 가 유능하지만, 가장 복잡한 '개조' 작업은 일을 올바르게 수행하기 위해 여전히 자동화된 도구와 인간과 같은 추론의 현명한 조합을 필요로 함을 보여줍니다.

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

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

Digest 사용해 보기 →