← Últimos artigos
💻 computer science

MigrationBench: Repository-Level Code Migration Benchmark from Java 8

Este artigo apresenta o MigrationBench, um benchmark abrangente em nível de repositório e um framework de avaliação para migrar código Java 8 para versões modernas LTS (17 e 21), demonstrando que um framework de LLM agênico pode alcançar altas taxas de sucesso nessa tarefa desafiadora.

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

Publicado 2026-05-29
📖 5 min de leitura🧠 Leitura aprofundada

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

Artigo original sob licença CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta é uma explicação gerada por IA do artigo abaixo. Não foi escrita nem endossada pelos autores. Para precisão técnica, consulte o artigo original. Ler aviso legal completo

Imagine que você tem uma biblioteca massiva e antiga, repleta de livros escritos em um estilo específico e ligeiramente desatualizado de inglês (vamos chamá-lo de "Inglês 8"). A biblioteca é enorme, contendo milhares de livros, e cada um deles está atualmente em perfeito estado.

Agora, imagine que o conselho da biblioteca decide atualizar todo o edifício para um novo padrão moderno ("Inglês 17"). Isso não se trata apenas de mudar a fonte; trata-se de atualizar as regras gramaticais, o vocabulário e a forma como os livros são organizados para que funcionem com os sistemas de segurança e os elevadores do novo edifício.

MigrationBench é um desafio gigantesco criado por pesquisadores da AWS AI para testar o quão bem a Inteligência Artificial (especificamente, Modelos de Linguagem Grandes ou LLMs) consegue lidar com esse projeto massivo de renovação.

Aqui está a explicação do trabalho deles usando analogias simples:

1. O Problema: Mover uma Cidade Inteira, Não Apenas uma Casa

A maioria dos testes anteriores de IA era como pedir a um robô para consertar uma única torneira que pinga ou escrever um único parágrafo. Mas o software do mundo real não é apenas um arquivo; é uma cidade inteira de edifícios interconectados (um "repositório").

  • O Desafio: Migrar do "Inglês 8" para o "Inglês 17" exige alterar milhares de arquivos de uma só vez. Se você mudar uma placa de rua, pode quebrar os semáforos a três quarteirões de distância.
  • A Lacuna: Até agora, não havia um "exame" padronizado para ver se a IA conseguia lidar com a renovação de uma cidade inteira de código sem derrubar todo o sistema.

2. A Solução: O Conjunto de Dados "MigrationBench"

Os pesquisadores construíram um conjunto massivo de testes chamado MigrationBench.

  • O Conjunto de Dados Completo: Eles reuniram 5.102 projetos Java reais e de código aberto da internet (como o GitHub). Eles filtraram-nos para garantir que fossem de alta qualidade, tivessem licenças adequadas e estivessem funcionando perfeitamente no momento.
  • O Subconjunto "Selecionado": Testar todos os mais de 5.000 projetos leva uma eternidade. Então, eles escolheram manualmente 300 dos projetos mais complexos, complicados e interessantes. Pense nisso como a versão de "Exame Final" do conjunto de dados, projetada para testar a IA sob estresse real.

3. As Regras do Jogo (Avaliação)

Como saber se a renovação foi bem-sucedida? Os pesquisadores estabeleceram dois níveis de dificuldade:

  • Nível 1: Migração Mínima (O Teste "Funciona")

    • Objetivo: A IA apenas precisa garantir que o código seja compilado (construído) e que todos os testes existentes passem na nova versão.
    • Analogia: O edifício está seguro, as luzes acendem e os elevadores funcionam. Os livros são legíveis.
    • Taxa de Sucesso: Com sua melhor configuração de IA, eles alcançaram uma taxa de sucesso de 71,67% aqui.
  • Nível 2: Migração Máxima (O Teste "Modernização")

    • Objetivo: A IA não deve apenas fazer funcionar, mas também atualizar todas as ferramentas e bibliotecas dentro do código para suas versões absolutas mais recentes e seguras.
    • Analogia: Não apenas o edifício está seguro, mas a IA também substituiu toda a tubulação antiga por novos canos de cobre, atualizou as câmeras de segurança para 4K e instalou os mais recentes recursos de casa inteligente. Isso é muito mais difícil porque novas ferramentas frequentemente têm regras diferentes.
    • Taxa de Sucesso: Isso é muito mais difícil. A melhor configuração de IA alcançou uma taxa de sucesso de 53,33%.

4. Os Trabalhadores: Agentes de IA

Os pesquisadores não pediram apenas à IA para "escrever código". Eles construíram Agentes de IA — trabalhadores digitais equipados com ferramentas.

  • O Trabalhador Básico: Uma IA simples que olha para o código e tenta corrigir erros. Ela lutou com a atualização "Máxima".
  • O Trabalhador Inteligente (Engenharia de Prompt): Eles deram ao trabalhador básico um conjunto melhor de instruções, dizendo-lhe especificamente para atualizar tudo. Isso ajudou muito.
  • O Trabalhador Pesquisador (RAG): Eles deram ao trabalhador um "guia telefônico" (uma base de conhecimento) das versões mais recentes de software para que ele não precisasse adivinhar. Isso melhorou ainda mais os resultados.
  • A Equipe Híbrida (A Vencedora): Esta foi a abordagem mais inteligente. Eles usaram um programa de computador para substituir automaticamente as ferramentas antigas pelas novas (uma etapa rápida e robótica) e depois deixaram o Agente de IA entrar para consertar as partes confusas onde as novas ferramentas não se encaixavam perfeitamente.
    • Resultado: Esta equipe performou tão bem quanto o trabalhador de IA mais caro, mas usou 11% menos poder de computação.

5. Os Resultados

O artigo mostra que, embora a IA esteja ficando muito boa em consertar pequenos problemas de código, renova uma cidade inteira de software de uma versão antiga para uma nova ainda é um desafio massivo.

  • A abordagem Híbrida (combinando ferramentas automatizadas com IA) provou ser a maneira mais eficiente de fazê-lo.
  • O conjunto de dados e o código para esses agentes de IA estão agora públicos, para que outros pesquisadores possam tentar construir equipes de renovação ainda melhores.

Em resumo: MigrationBench é uma nova academia rigorosa para a IA praticar a movimentação de bibliotecas de software inteiras de versões antigas para novas. Mostra que, embora a IA seja capaz, as "renovações" mais complexas ainda exigem uma mistura inteligente de ferramentas automatizadas e raciocínio semelhante ao humano para realizar o trabalho corretamente.

Afogado em artigos na sua área?

Receba digests diários dos artigos mais recentes que correspondam às suas palavras-chave de pesquisa — com resumos técnicos, no seu idioma.

Experimentar Digest →