A IBM Research apresentou o ScarfBench, um benchmark aberto projetado para avaliar como agentes de IA lidam com a migração de frameworks Java empresariais. O benchmark revela que a configuração e as dependências de tempo de execução são os maiores obstáculos, não a tradução de código.
Avanços recentes em agentes de codificação geraram entusiasmo em torno da modernização assistida por IA. Mas uma pergunta importante permanece: Os agentes de IA podem modernizar de forma confiável aplicações empresariais do mundo real?
Os benchmarks existentes de engenharia de software mostraram progresso impressionante na correção de bugs e geração de código, mas a migração de frameworks apresenta um desafio fundamentalmente diferente. O sucesso exige não apenas traduzir código, mas também preservar o comportamento, adaptar sistemas de build e navegar por dependências de tempo de execução.
Para preencher essa lacuna, a IBM Research criou o ScarfBench (Self-Contained Application Refactoring Benchmark), um benchmark aberto para avaliar agentes de IA em tarefas de migração entre frameworks em Java Empresarial. O ScarfBench foca em migrações entre três grandes ecossistemas Java: Spring, Jakarta EE e Quarkus.
Diferente de benchmarks tradicionais que comparam código gerado com implementações de referência, o ScarfBench avalia se as aplicações migradas realmente compilam, implantam e preservam o comportamento.
Por que a Migração é Difícil
A migração de frameworks é muito mais do que substituir anotações. Uma migração simples de repositório pode exigir mudanças em injeção de dependência, configuração de persistência, consultas e descritores de framework. Pequenos erros em qualquer uma dessas peças podem impedir uma implantação bem-sucedida.

Figura: Exemplo de Migração Spring → Jakarta
A migração de frameworks exige traduzir semânticas de framework, não apenas código-fonte.
Apresentando o ScarfBench
O ScarfBench fornece uma maneira sistemática de avaliar agentes de IA em tarefas de migração de frameworks Java empresariais. As aplicações devem compilar com sucesso, implantar corretamente e passar na validação comportamental. Isso fornece uma medida muito mais realista da qualidade da modernização.
O benchmark inclui tanto tarefas de migração focadas quanto migrações de aplicações completas.

Figura: Pipeline de Construção do ScarfBench
Partindo de uma taxonomia Java empresarial baseada em JSR, migrações de especialistas criam implementações verificadas em Spring, Jakarta EE e Quarkus.
Como os Agentes de Fronteira se Saem?
A IBM Research avaliou vários agentes de codificação de última geração no ScarfBench. Apesar do forte desempenho em benchmarks tradicionais de engenharia de software, a migração de frameworks continua difícil. As taxas de sucesso variam consideravelmente entre pares de frameworks, e as migrações de aplicações completas permanecem particularmente desafiadoras.

Figura: Leaderboard Atual

Figura: Progressão Compilar → Implantar → Testar
O sucesso na compilação supera consistentemente o sucesso na implantação, que por sua vez supera o sucesso comportamental. O sucesso apenas na compilação superestima significativamente a qualidade da migração.

Figura: Resultados da Migração por Framework Alvo
A dificuldade da migração depende fortemente do framework alvo, com Jakarta EE se mostrando particularmente desafiador.
O que Aprendemos sobre Agentes de IA para Modernização Java
Além de medir taxas de sucesso, o ScarfBench ajuda a entender como os agentes se comportam durante a modernização.
Os Agentes Podem Dizer Confiavelmente Quando uma Migração Está Completa?
Uma aplicação migrada só é útil se realmente compila e executa. A IBM Research comparou os resultados relatados pelos agentes com a verificação independente de compilação.
"O Claude Code relatou compilações bem-sucedidas para 29 de 30 aplicações completas. Apenas 22 dessas aplicações realmente compilaram com sucesso. Enquanto isso, a única aplicação classificada como falha pelo agente acabou compilando corretamente."
— IBM Research
Isso sugere que a autoavaliação do agente não deve ser tratada como um sinal confiável de conclusão da migração. A validação independente de compilação e teste continua essencial.
Como os Agentes Navegam pelas Dependências da Aplicação?
Migrações de frameworks raramente afetam um único arquivo ou camada. Mudanças em configuração, serviços, bancos de dados e componentes web geralmente se propagam por toda a aplicação.
As camadas mais frequentemente visitadas foram configuração, web, banco de dados e serviço. Transições comuns incluíram configuração ↔ web e serviço ↔ banco de dados. Isso sugere que a migração é um processo iterativo de resolução de dependências, em vez de uma simples transformação de código-fonte para código-fonte.
Onde os Agentes Gastam a Maior Parte do Esforço?
Usando a frequência de revisita de camadas como proxy para o esforço de migração, os pesquisadores descobriram que a configuração domina o esforço de migração. Em vez de prosseguir linearmente, os agentes retornaram repetidamente a artefatos relacionados à configuração enquanto resolviam diferenças de framework e problemas de dependência.
Quais Desafios Não São Sobre Transformação de Código?
Nem todo problema de migração se origina do código-fonte. Os agentes frequentemente enfrentaram dificuldades com questões ambientais, incluindo inconsistências no cache do Docker, problemas de conectividade de porta e problemas com o Maven wrapper e ferramentas de build. Essas questões operacionais frequentemente atrasavam a validação, mesmo quando a migração do código-fonte estava amplamente concluída.

Figura: Distribuição dos Modos de Falha
As falhas de modernização abrangem sistemas de build, ambientes de implantação, injeção de dependência, bancos de dados, endpoints, asserções e infraestrutura.
Principais Conclusões
O maior desafio na modernização de frameworks não é traduzir código Java. É gerenciar a teia de dependências entre configuração, infraestrutura e ambientes de tempo de execução. Embora os agentes de fronteira possam automatizar partes substanciais do processo de migração, a validação confiável e o raciocínio arquitetural continuam sendo críticos para alcançar resultados bem-sucedidos.
O ScarfBench ajuda a expor esses desafios e fornece uma maneira padronizada de medir o progresso em direção à modernização verdadeiramente autônoma de aplicações.
Explore o ScarfBench
O ScarfBench foi projetado como um recurso aberto para pesquisadores e profissionais. Os recursos incluem um conjunto de dados de benchmark, infraestrutura de avaliação, leaderboard público, documentação e código aberto. Pesquisadores podem comparar arquiteturas e técnicas de agentes. Profissionais podem usar o ScarfBench para avaliar soluções de modernização antes de implantá-las em ambientes de produção.
- Site: https://scarfbench.info
- Conjunto de dados: https://huggingface.co/datasets/ibm-research/ScarfBench
- Space: https://huggingface.co/spaces/ibm-research/ScarfBench
- Repositório GitHub: https://github.com/scarfbench/scarfbench
- Leaderboard: https://scarfbench.info/leaderboard
- Artigo: https://arxiv.org/abs/2605.06754
A migração de frameworks continua sendo um dos maiores problemas não resolvidos na engenharia de software assistida por IA. A IBM Research espera que o ScarfBench ajude a comunidade a medir o progresso e acelerar a próxima geração de modernização de aplicações assistida por IA. A equipe convida pesquisadores, profissionais e autores de frameworks a contribuir e ajudar a expandir os limites do que os agentes de IA podem alcançar na modernização de software empresarial.



