Repousser les limites des benchmarks actuels pour une évaluation réaliste des LLM s en migration de code (2025)

Abstract: Les grands modèles de langage (LLMs) offrent un potentiel important pour la migration de code, mais les benchmarks actuels créent une illusion de maîtrise ne se traduisant pas par de bonnes performances sur des projets industriels complexes. Bien que des avancées comme RepoTransBench incluent des tâches à l’échelle de dépôts complets, ces benchmarks restent irréalistes : taille de projet trop limitée, gestion simplifiée des dépendances, faible diversité technologique et absence de génération ou adaptation automatique des tests. Dans cet article, nous analysons ces limites et nous suggérons de s’inspirer d’approches existantes dans des contextes monolingues, notamment la gestion des contextes longs et la génération automatique de tests, pour concevoir des benchmarks de migration plus réalistes. Notre contribution vise à encourager la communauté à développer des évaluations plus représentatives des défis industriels.

## introduction la migration de code vers de nouvelles technologies représente un défi majeur pour les entreprises, motivé par des impératifs techniques (maintenabilité, sécurité, conformité) et stratégiques (obsolescence, pénurie de compétences). les grands modèles de langage (llms) offrent une approche innovante par rapport aux transpileurs traditionnels (outils convertissant le code d'un langage à un autre dans un paradigme similaire). leur capacité à traiter simultanément code et langage naturel leur permet de produire un code idiomatique respectant les bonnes pratiques du langage cible, tout en préservant la sémantique et les intentions sous-jacentes dans la documentation, les commentaires et les conventions de nommage. pour une adoption industrielle réussie, une évaluation rigoureuse des capacités réelles des llms est indispensable afin d'éviter une surestimation de leurs performances et garantir leur adéquation aux exigences concrètes des projets. or, en évaluant des tâches simples et isolées, les benchmarks historiques donnent une image faussement optimiste des performances réelles des llms. par exemple, un modèle récent comme gpt-4 atteint des performances très élevées (85,4 %) sur des benchmarks populaires tels que humaneval @xcite , qui consistent uniquement à implémenter des fonctions individuelles sans interdépendances complexes. cependant, dès que l'on passe à des tâches plus complexes et représentatives des réalités industrielles, la performance de ce même modèle chute considérablement. ainsi, sur classeval @xcite , un benchmark conçu spécifiquement pour évaluer la génération de code au niveau des classes entières, les performances de gpt-4 chutent de 85,4 % à seulement 37 %. cette dégradation des performances est encore plus prononcée sur le récent benchmark repotransbench @xcite , qui se distingue par l'évaluation de la traduction de code au niveau de dépôts entiers, sur lequel gpt-4 obtient une réussite immédiate (success@1) extrêmement faible de seulement 2,33 % @xcite . les défis deviennent encore plus importants lorsqu'il s'agit de code industriel. comme le souligne l'étude @xcite , les performances des llms pour la traduction de code ciblant rust diminue significativement, perdant entre 41,5 % et 56,2 % de leur efficacité initiale lorsqu'ils passent de benchmarks simplifiés à des traductions complètes au niveau du dépôt. cette étude révèle que les modèles de langage de pointe comme gpt-4 n'atteignent qu'un taux de réussite de 29,3 % pour la traduction de code python vers rust dans un contexte de dépôt complet. de même, @xcite identifient plusieurs obstacles majeurs à l'intégration des llms dans des produits logiciels industriels, notamment des problèmes liés à l'évaluation des métriques, au manque de méthodes d'évaluation robustes et aux efforts manuels considérables nécessaires pour assurer la qualité. un autre défi important concerne la gestion des dépendances et la structure organisationnelle du code. @xcite démontrent que les dépôts contenant davantage de fonctions, de classes et d'importations présentent des taux d'échec plus élevés lors de la traduction automatisée. leur analyse détaillée des erreurs identifie cinq catégories principales de problèmes : les problèmes de fichiers de configuration (44,2 %), la compréhension limitée du code (36,6 %), la génération incomplète (25,3 %), les problèmes liés aux spécificités des langages (14,6 %), et les problèmes d'encodage (8,2 %). @xcite proposent une approche guidée par squelette pour améliorer la traduction de dépôts, mais même avec cette méthode, les meilleurs modèles n'atteignent qu'un taux de réussite de 21 % après plusieurs itérations de débogage, démontrant la complexité persistante de cette tâche. dans le contexte industriel, les défis sont également liés aux spécificités des domaines d'application. comme le révèle l'enquête d' @xcite , plus de 70 % des projets industriels utilisant des llms pour la génération de code en sont encore à la phase conceptuelle, montrant le fossé important entre les capacités théoriques et l'application pratique. leur étude identifie des préoccupations majeures concernant la robustesse (cité par 11 % des praticiens), la sécurité (11 %) et les hallucinations (10 %) comme obstacles principaux à l'adoption industrielle. si l'évaluation des llms pour la génération de code est désormais un enjeu bien identifié par la communauté scientifique @xcite , les problématiques spécifiques à la migration multilingue de code demeurent sous-explorées. dans cet article, nous analysons les limites des benchmarks actuels, qui créent une illusion de maîtrise ne se traduisant pas en performances réelles sur des projets industriels. nos contributions sont : (1) une analyse des benchmarks actuels, révélant leurs insuffisances en termes de taille de projet, gestion des dépendances et diversité technologique, (2) une évaluation des approches émergentes comme celle guidée par squelette, et (3) des pistes d'amélioration inspirées des contextes monolingues, notamment pour la gestion des contextes longs et la génération automatique de tests. nous encourageons ainsi la communauté à développer des évaluations plus représentatives des défis industriels réels. ## évolution des benchmarks : vers une évaluation réaliste des llms pour comprendre les limitations actuelles des benchmarks de migration de code, il est utile d'examiner l'évolution historique des benchmarks de génération de code, dont les enseignements peuvent inspirer une approche plus réaliste. les benchmarks d'évaluation des llms pour le code se divisent en deux catégories principales : ceux évaluant la génération à partir de descriptions en langage naturel (nl-to-code), comme humaneval (chen et al., 2021) et mbpp (austin et al., 2021), et ceux évaluant la traduction entre langages de programmation (code-to-code), comme transcoder-test (roziere et al., 2020) et repotrans-bench (wang et al., 2024). ces catégories testent des compétences différentes : compréhension des spécifications en langage naturel pour les premiers, et transposition entre syntaxes et paradigmes pour les seconds. notre analyse couvre ces deux catégories, les enseignements tirés des benchmarks monolingues ayant fortement influencé le développement des benchmarks de migration, enjeu central des applications industrielles. ## limitations des benchmarks actuels et pistes d'exploration futures malgré les avancées récentes vers une évaluation plus réaliste des systèmes de migration de code, plusieurs lacunes importantes persistent dans les benchmarks actuels. ces limitations entravent une mesure fidèle des capacités réelles des llms face à la complexité des projets industriels. ## conclusion la migration de code demeure un enjeu majeur pour les entreprises, et les llms offrent une solution potentiellement transformative à ce défi. cependant, l'écart préoccupant entre les évaluations académiques et les exigences des migrations industrielles réelles crée une illusion de compétence qui risque de conduire à des échecs coûteux. les benchmarks actuels constituent des progrès significatifs mais restent insuffisants face à la complexité multidimensionnelle des migrations industrielles. la chute drastique des performances observée lors du passage des fonctions isolées aux dépôts complets révèle l'inadéquation fondamentale des métriques et méthodologies d'évaluation. ces limitations sont exacerbées par d'importants obstacles pratiques à la généralisation. la diversité technologique insuffisante des benchmarks actuels, qui se concentrent principalement sur quelques langages populaires, ne permet pas d'évaluer adéquatement les migrations entre les nombreux frameworks industriels (angularjs, react, django, rails, etc.) couramment utilisés en entreprise. de plus, le coût humain élevé de construction de benchmarks réalistes, nécessitant l'intervention de nombreux ingénieurs expérimentés, limite fortement leur adaptabilité à différentes technologies et contextes. pour combler cet écart, nous avons listé plusieurs pistes prometteuses : approches hybrides combinant automatisation et validation humaine pour réduire le coût humain, benchmarks stratifiés couvrant une plus grande diversité technologique, métriques contextuelles permettant d'évaluer des choix multiples et subjectifs, et prise en compte des aspects socio-techniques essentiels dans les migrations industrielles. la construction semi-automatisée de cas de test, l'utilisation de tests end-to-end plutôt que strictement unitaires, et l'évaluation autonome de génération des tests représentent également des axes d'amélioration significatifs. ces recommandations visent à encourager le développement de méthodologies d'évaluation qui reflètent plus fidèlement la réalité industrielle, permettant ainsi de mieux guider l'évolution future des modèles dans ce domaine crucial et de réduire l'écart entre performances académiques rapportées et applicabilité industrielle réelle.