IBM lance ScarfBench, un test qui évalue si les agents IA peuvent migrer des applications Java d'entreprise sans perdre leur fonctionnalité. Spoiler : ils ont encore du chemin à parcourir.
La modernisation des applications d'entreprise est l'une des activités les plus coûteuses et complexes que les organisations entreprennent. Les équipes migrent leurs applications entre différents frameworks pour améliorer la maintenabilité, la préparation au cloud, la productivité des développeurs et l'accès à des fonctionnalités modernes.
Les avancées récentes des agents de codage ont suscité beaucoup d'enthousiasme autour de la modernisation assistée par IA. Mais une question cruciale reste en suspens :
Les benchmarks existants en ingénierie logicielle ont montré des progrès impressionnants en correction de bugs et en Génération de code. Cependant, la migration entre frameworks représente un défi fondamentalement différent. Réussir ne se limite pas à traduire du code : il faut aussi préserver le comportement, adapter les systèmes de build, et gérer les dépendances d'exécution.
SCARFBENCH : LE PREMIER BENCHMARK POUR TESTER LA MIGRATION ENTRE FRAMEWORKS JAVA
Pour combler ce manque, IBM Research présente ScarfBench (Self-Contained Application Refactoring Benchmark), un benchmark ouvert pour évaluer les agents IA sur des tâches de migration entre frameworks dans le domaine de Java Enterprise.
Contrairement aux benchmarks traditionnels qui comparent le code généré avec des implémentations de référence, ScarfBench vérifie si les applications migrées compilent, se déploient et conservent leur comportement initial.
POURQUOI LA MIGRATION ENTRE FRAMEWORKS EST-ELLE SI DIFFICILE ?
La migration entre frameworks ne se résume pas à remplacer des annotations. Une simple migration de dépôt peut nécessiter des modifications dans l'injection de dépendances, la configuration de persistance, les requêtes et les descripteurs de framework. Une petite erreur dans l'une de ces parties peut empêcher le déploiement réussi de l'application.
La migration entre frameworks exige de traduire la sémantique des frameworks, pas seulement le code source. Il faut comprendre comment chaque framework gère les connexions entre les composants, les transactions ou les appels aux bases de données.
COMMENT SCARFBENCH FONCTIONNE-T-IL ?
ScarfBench fournit une méthode systématique pour évaluer les agents IA sur des tâches de migration entre frameworks Java d'entreprise. Cela offre une mesure beaucoup plus réaliste de la qualité de la modernisation.
Le benchmark inclut à la fois des tâches de migration ciblées et des migrations complètes d'applications. À partir d'une taxonomie Java Enterprise basée sur les JSR, des migrations réalisées par des experts créent des implémentations vérifiées pour Spring, Jakarta EE et Quarkus.
LES AGENTS IA FRONTIÈRES FACE À SCARFBENCH : DES RÉSULTATS MITIGÉS
Plusieurs agents de codage de pointe ont été évalués sur ScarfBench. Malgré leurs performances solides sur les benchmarks traditionnels d'ingénierie logicielle, la migration entre frameworks reste un défi de taille.
Les taux de réussite varient considérablement selon les paires de frameworks, et les migrations complètes d'applications restent particulièrement difficiles.
La difficulté de migration dépend fortement du framework cible. Jakarta EE s'avère particulièrement complexe à migrer.
CE QUE LES AGENTS IA NOUS APPRENNENT SUR LA MODERNISATION JAVA
Au-delà des taux de réussite, ScarfBench permet de comprendre comment les agents se comportent pendant la modernisation.
LES AGENTS SONT-ILS CAPABLES DE DÉTECTER QUAND UNE MIGRATION EST TERMINÉE ?
Une application migrée n'est utile que si elle compile et s'exécute réellement. Les chercheurs ont donc comparé les résultats rapportés par les agents avec une vérification indépendante de la compilation.
Pendant ce temps, la seule application classée comme échouée par l'agent a finalement compilé correctement. Cela suggère que l'auto-évaluation des agents ne doit pas être considérée comme un signal fiable de l'achèvement d'une migration.
Une validation indépendante de la compilation et des tests reste essentielle.
COMMENT LES AGENTS GÈRENT-ILS LES DÉPENDANCES DES APPLICATIONS ?
Les migrations entre frameworks affectent rarement un seul fichier ou une seule couche. Les changements dans la configuration, les services, les bases de données et les composants web se propagent souvent dans toute l'application.
Les couches les plus fréquemment visitées étaient :
Cette observation suggère que la migration est un processus de résolution itérative des dépendances plutôt qu'une simple transformation source-à-source.
OÙ LES AGENTS CONSACRENT-ILS LEUR TEMPS ?
Les chercheurs ont utilisé la fréquence de revisite des couches comme indicateur de l'effort de migration. Les couches nécessitant des visites répétées impliquaient généralement le débogage, la résolution des dépendances ou l'adaptation aux frameworks.
Plutôt que de procéder de manière linéaire, les agents revenaient sans cesse aux artefacts liés à la configuration tout en résolvant les différences entre frameworks et les problèmes de dépendances.
LES DÉFIS QUI NE VIENNENT PAS DE LA TRANSFORMATION DU CODE
Tous les problèmes de migration ne proviennent pas du code source. Les chercheurs ont identifié plusieurs obstacles inattendus.
Les agents avaient souvent du mal avec des problèmes environnementaux, notamment :
- Les versions incompatibles des outils de build
- Les chemins de fichiers incorrects
Ces soucis opérationnels retardaient souvent la validation, même lorsque la migration du code source était largement terminée.
Les échecs de modernisation touchent les systèmes de build, les environnements de déploiement, l'injection de dépendances, les bases de données, les points d'accès, les assertions et l'infrastructure.
LE VERDICT : LA MIGRATION N'EST PAS UNE SIMPLE TRADUCTION DE CODE
Bien que les agents frontaliers puissent automatiser une grande partie du processus de migration, une validation fiable et un raisonnement architectural restent essentiels pour obtenir des résultats réussis.
ScarfBench aide à exposer ces défis et fournit une méthode standardisée pour mesurer les progrès vers une modernisation autonome des applications.
EXPLOREZ SCARFBENCH : UN OUTIL POUR TOUS
ScarfBench est conçu comme une ressource ouverte pour les chercheurs et les praticiens.
Les chercheurs peuvent comparer les architectures et techniques des agents. Les praticiens peuvent utiliser ScarfBench pour évaluer des solutions de modernisation avant de les déployer en production.
ACCÉDEZ À SCARFBENCH
Dataset : https://huggingface.co/datasets/ibm-research/ScarfBench
Espace de démonstration : https://huggingface.co/spaces/ibm-research/ScarfBench
Dépôt GitHub : https://github.com/scarfbench/scarfbench
UN PROBLÈME NON RÉSOLU DANS L'INGÉNIERIE LOGICIELLE ASSISTÉE PAR IA
La migration entre frameworks reste l'un des plus grands problèmes non résolus dans l'ingénierie logicielle assistée par IA. IBM espère que ScarfBench aidera la communauté à mesurer les progrès et à accélérer la prochaine génération de modernisation d'applications assistée par IA.
Les chercheurs, praticiens et communautés de frameworks sont invités à évaluer leurs agents, à contribuer de nouveaux scénarios de migration et à aider à faire avancer l'état de l'art.
- Hugging Face Blog
L'indépendance de CLODCO est votre garantie.
Pour que l'actualité de l'IA reste sans filtre et sans concession, votre soutien est indispensable. Votre contribution est le seul moteur de notre liberté éditoriale.
Soutenir CLODCO


