MIGRATION-BENCH: Benchmark de Migração de Código em Nível de Repositório do Java 8
MIGRATION-BENCH: Repository-Level Code Migration Benchmark from Java 8
May 14, 2025
Autores: Linbo Liu, Xinle Liu, Qiang Zhou, Lin Chen, Yihan Liu, Hoan Nguyen, Behrooz Omidvar-Tehrani, Xi Shen, Jun Huan, Omer Tripp, Anoop Deoras
cs.AI
Resumo
Com o rápido avanço dos poderosos modelos de linguagem de grande escala (LLMs) nos últimos anos, uma ampla gama de tarefas de engenharia de software pode agora ser abordada usando LLMs, aumentando significativamente a produtividade e a escalabilidade. Numerosos conjuntos de dados de referência foram desenvolvidos para avaliar as capacidades de codificação desses modelos, embora se concentrem principalmente em tarefas de resolução de problemas e questões. Em contraste, introduzimos um novo benchmark de codificação, o MIGRATION-BENCH, com um foco distinto: migração de código. O MIGRATION-BENCH visa servir como um benchmark abrangente para a migração do Java 8 para as versões mais recentes de suporte de longo prazo (LTS) (Java 17, 21). O MIGRATION-BENCH inclui um conjunto de dados completo e seu subconjunto selecionado com 5.102 e 300 repositórios, respectivamente. O subconjunto selecionado é uma amostra representativa curada por complexidade e dificuldade, oferecendo um recurso versátil para apoiar pesquisas no campo da migração de código. Além disso, fornecemos uma estrutura de avaliação abrangente para facilitar uma avaliação rigorosa e padronizada de LLMs nessa tarefa desafiadora. Propomos ainda o SD-Feedback e demonstramos que os LLMs podem efetivamente lidar com a migração de código em nível de repositório para o Java 17. Para o subconjunto selecionado com o Claude-3.5-Sonnet-v2, o SD-Feedback alcança taxas de sucesso de 62,33% e 27,00% (pass@1) para migração mínima e máxima, respectivamente. O conjunto de dados de benchmark e o código-fonte estão disponíveis em: https://huggingface.co/collections/AmazonScience e https://github.com/amazon-science/self_debug, respectivamente.
English
With the rapid advancement of powerful large language models (LLMs) in recent
years, a wide range of software engineering tasks can now be addressed using
LLMs, significantly enhancing productivity and scalability. Numerous benchmark
datasets have been developed to evaluate the coding capabilities of these
models, while they primarily focus on problem-solving and issue-resolution
tasks. In contrast, we introduce a new coding benchmark MIGRATION-BENCH with a
distinct focus: code migration. MIGRATION-BENCH aims to serve as a
comprehensive benchmark for migration from Java 8 to the latest long-term
support (LTS) versions (Java 17, 21), MIGRATION-BENCH includes a full dataset
and its subset selected with 5,102 and 300 repositories respectively.
Selected is a representative subset curated for complexity and difficulty,
offering a versatile resource to support research in the field of code
migration. Additionally, we provide a comprehensive evaluation framework to
facilitate rigorous and standardized assessment of LLMs on this challenging
task. We further propose SD-Feedback and demonstrate that LLMs can effectively
tackle repository-level code migration to Java 17. For the selected subset with
Claude-3.5-Sonnet-v2, SD-Feedback achieves 62.33% and 27.00% success rate
(pass@1) for minimal and maximal migration respectively. The benchmark dataset
and source code are available at:
https://huggingface.co/collections/AmazonScience and
https://github.com/amazon-science/self_debug respectively.