IBM Research ha presentado ScarfBench, un benchmark abierto diseñado para evaluar qué tan bien los agentes de IA manejan la migración de frameworks Java empresariales. El benchmark revela que la configuración y las dependencias en tiempo de ejecución son los mayores obstáculos, no la traducción de código.
Los avances recientes en agentes de codificación han generado entusiasmo en torno a la modernización asistida por IA. Pero queda una pregunta importante: ¿Pueden los agentes de IA modernizar de manera confiable aplicaciones empresariales del mundo real?
Los benchmarks existentes de ingeniería de software han mostrado un progreso impresionante en la corrección de errores y la generación de código, pero la migración de frameworks presenta un desafío fundamentalmente diferente. El éxito requiere no solo traducir código, sino también preservar el comportamiento, adaptar los sistemas de compilación y navegar por las dependencias en tiempo de ejecución.
Para abordar esta brecha, IBM Research creó ScarfBench (Self-Contained Application Refactoring Benchmark), un benchmark abierto para evaluar agentes de IA en tareas de migración entre frameworks en Java empresarial. ScarfBench se centra en migraciones entre tres ecosistemas Java principales: Spring, Jakarta EE y Quarkus.
A diferencia de los benchmarks tradicionales que comparan el código generado con implementaciones de referencia, ScarfBench evalúa si las aplicaciones migradas realmente compilan, se despliegan y preservan el comportamiento.
Por qué la migración es difícil
La migración de frameworks es mucho más que reemplazar anotaciones. Una migración simple de repositorio puede requerir cambios en la inyección de dependencias, la configuración de persistencia, las consultas y los descriptores de framework. Pequeños errores en cualquiera de estas piezas pueden impedir un despliegue exitoso.

Figura: Ejemplo de migración Spring → Jakarta
La migración de frameworks requiere traducir la semántica del framework, no solo el código fuente.
Presentando ScarfBench
ScarfBench proporciona una forma sistemática de evaluar agentes de IA en tareas de migración de frameworks Java empresariales. Se requiere que las aplicaciones compilen correctamente, se desplieguen correctamente y pasen la validación de comportamiento. Esto proporciona una medida mucho más realista de la calidad de la modernización.
El benchmark incluye tanto tareas de migración enfocadas como migraciones de aplicaciones completas.

Figura: Pipeline de construcción de ScarfBench
A partir de una taxonomía Java empresarial basada en JSR, migraciones expertas crean implementaciones verificadas en Spring, Jakarta EE y Quarkus.
¿Cómo se desempeñan los agentes de frontera?
IBM Research evaluó varios agentes de codificación de última generación en ScarfBench. A pesar del sólido rendimiento en benchmarks tradicionales de ingeniería de software, la migración de frameworks sigue siendo difícil. Las tasas de éxito varían considerablemente entre pares de frameworks, y las migraciones de aplicaciones completas siguen siendo particularmente desafiantes.

Figura: Tabla de clasificación actual

Figura: Progresión Compilar → Desplegar → Probar
El éxito de compilación supera consistentemente al éxito de despliegue, que a su vez supera al éxito de comportamiento. El éxito de compilación por sí solo sobreestima significativamente la calidad de la migración.

Figura: Resultados de migración por framework objetivo
La dificultad de la migración depende fuertemente del framework objetivo, siendo Jakarta EE particularmente desafiante.
Lo que aprendimos sobre los agentes de IA para la modernización de Java
Más allá de medir las tasas de éxito, ScarfBench ayuda a entender cómo se comportan los agentes durante la modernización.
¿Pueden los agentes decir de manera confiable cuándo una migración está completa?
Una aplicación migrada solo es útil si realmente compila y se ejecuta. IBM Research comparó los resultados reportados por los agentes con la verificación de compilación independiente.
"Claude Code reportó compilaciones exitosas para 29 de 30 aplicaciones completas. Solo 22 de esas aplicaciones realmente compilaron correctamente. Mientras tanto, la única aplicación clasificada como fallida por el agente finalmente compiló correctamente."
— IBM Research
Esto sugiere que la autoevaluación del agente no debe tratarse como una señal confiable de finalización de la migración. La validación independiente de compilación y pruebas sigue siendo esencial.
¿Cómo navegan los agentes las dependencias de la aplicación?
Las migraciones de frameworks rara vez afectan un solo archivo o capa. Los cambios en la configuración, servicios, bases de datos y componentes web a menudo se propagan por toda la aplicación.
Las capas visitadas con más frecuencia fueron configuración, web, base de datos y servicio. Las transiciones comunes incluyeron configuración ↔ web y servicio ↔ base de datos. Esto sugiere que la migración es un proceso iterativo de resolución de dependencias, más que una simple transformación de fuente a fuente.
¿Dónde gastan los agentes la mayor parte de su esfuerzo?
Usando la frecuencia de revisita de capas como indicador del esfuerzo de migración, los investigadores encontraron que la configuración domina el esfuerzo de migración. En lugar de proceder de manera lineal, los agentes regresaron repetidamente a los artefactos relacionados con la configuración mientras resolvían diferencias de framework y problemas de dependencias.
¿Qué desafíos no se relacionan con la transformación de código?
No todos los problemas de migración se originan en el código fuente. Los agentes a menudo tuvieron dificultades con problemas ambientales, incluyendo inconsistencias en la caché de Docker, problemas de conectividad de puertos y problemas con Maven wrapper y herramientas de compilación. Estos problemas operativos a menudo retrasaron la validación incluso cuando la migración del código fuente estaba en gran parte completa.

Figura: Distribución de modos de fallo
Los fallos de modernización abarcan sistemas de compilación, entornos de despliegue, inyección de dependencias, bases de datos, endpoints, aserciones e infraestructura.
Conclusión clave
El mayor desafío en la modernización de frameworks no es traducir código Java. Es gestionar la red de dependencias a través de la configuración, la infraestructura y los entornos de ejecución. Si bien los agentes de frontera pueden automatizar partes sustanciales del proceso de migración, la validación confiable y el razonamiento arquitectónico siguen siendo críticos para lograr resultados exitosos.
ScarfBench ayuda a exponer estos desafíos y proporciona una forma estandarizada de medir el progreso hacia la modernización de aplicaciones verdaderamente autónoma.
Explora ScarfBench
ScarfBench está diseñado como un recurso abierto para investigadores y profesionales. Los recursos incluyen un conjunto de datos de benchmark, infraestructura de evaluación, tabla de clasificación pública, documentación y código de código abierto. Los investigadores pueden comparar arquitecturas y técnicas de agentes. Los profesionales pueden usar ScarfBench para evaluar soluciones de modernización antes de implementarlas en entornos de producción.
- Sitio web: https://scarfbench.info
- Conjunto de datos: https://huggingface.co/datasets/ibm-research/ScarfBench
- Space: https://huggingface.co/spaces/ibm-research/ScarfBench
- Repositorio de GitHub: https://github.com/scarfbench/scarfbench
- Tabla de clasificación: https://scarfbench.info/leaderboard
- Artículo: https://arxiv.org/abs/2605.06754
La migración de frameworks sigue siendo uno de los problemas no resueltos más grandes en la ingeniería de software asistida por IA. IBM Research espera que ScarfBench ayude a la comunidad a medir el progreso y acelerar la próxima generación de modernización de aplicaciones asistida por IA. El equipo invita a investigadores, profesionales y autores de frameworks a contribuir y ayudar a empujar los límites de lo que los agentes de IA pueden lograr en la modernización de software empresarial.



