The Verge AIPublication de la source

L'IA peut-elle aider à résoudre la crise du code COBOL ?

Qu'ont en commun l'IRS, les banques, les compagnies aériennes et les infrastructures gouvernementales du monde entier ? Ils fonctionnent tous grâce à des systèmes maintenus par du code informatique antique que personne n'ose toucher, de peur que tout ne s'effondre.

Qu'ont en commun l'IRS, les banques, les compagnies aériennes et les infrastructures gouvernementales du monde entier ? Ils fonctionnent tous grâce à des systèmes maintenus par du code informatique antique que personne n'ose toucher, de peur que tout ne s'effondre.

OpenAI pense avoir peut-être une solution. Le 19 octobre, la société a vanté des « améliorations substantielles » dans la capacité de ses derniers modèles d'IA à migrer des logiciels vieillissants écrits dans d'anciens langages de programmation vers du code moderne, ce qui, selon elle, pourrait aider les organisations à « maintenir et moderniser les systèmes plus anciens ».

C'est potentiellement énorme. COBOL, l'un des langages mis en avant par OpenAI, reste obstinément ancré dans de vastes pans des infrastructures critiques mondiales. Et malgré des décennies d'efforts pour le reléguer dans l'histoire, le langage a survécu tant bien que mal, refusant tout simplement de mourir.

« Aucune personne saine d'esprit n'utiliserait COBOL pour un nouveau projet de développement. »

Il est difficile de surestimer l'omniprésence de COBOL. Sigle de « common business-oriented language », COBOL est né en 1959. Près de sept décennies plus tard, il est toujours partout. Selon IBM, COBOL est le socle de plus de 40 pour cent des systèmes bancaires en ligne, prend en charge 80 pour cent des transactions de cartes de crédit en personne et traite 95 pour cent des transactions aux guichets automatiques. Il sous-tend également de nombreux systèmes gouvernementaux, allant de la Social Security à l' IRS en passant par des services gérés par la plupart des États. Une estimation approximative situe le coût annuel des inefficiences de COBOL pour le PIB américain à environ 105 milliards de dollars.

Mais remplacer COBOL est diaboliquement difficile. Il en va de même pour les autres langages de programmation hérités, comme Fortran, encore utilisé aujourd'hui pour tout, du calcul scientifique et des prévisions météorologiques aux études atmosphériques et océaniques et aux codes essentiels à la sécurité nucléaire. Ces systèmes sont souvent trop importants pour risquer de les casser, et nombre des programmeurs qui les comprennent ont depuis longtemps pris leur retraite ou sont décédés.

Malgré leurs progrès impressionnants en matière d' avancées modernes logiciel développement, les outils de codage par IA ont eu du mal à progresser sur ces systèmes hérités. Mais des développements récents suggèrent que cela pourrait être en train de changer.

Dans son dernier article de blog, OpenAI a fait état de résultats prometteurs pour la migration de code COBOL vers des langages de programmation plus modernes, notamment C++, Java, Kotlin, Python et Rust, sans modifier ce que fait le logiciel d'origine. Ce dernier point est crucial pour les organisations cherchant à abandonner du code comme COBOL, et OpenAI reconnaît qu'« une migration n'est considérée comme réussie que si tous les tests passent ».

Articles liés

Dans les tests d'OpenAI elle-même, GPT-6.1 Sol a atteint une précision de 87 % en préservation du comportement à faible effort de raisonnement — c'est-à-dire le nombre d'étapes de calcul que le modèle consacre à l'analyse d'un problème avant de donner une réponse — montant à 98 % avec un raisonnement plus poussé. À titre de comparaison, à faible effort de raisonnement, GPT-6 Astra a obtenu environ 86 %, GPT-6 Sol seulement 21 %, et GPT-5.6 Sol à peine 5 %.

« Réécrire du code n'est pas la même chose que remplacer un système. »

« Ces résultats d'évaluation démontrent des progrès vers une migration de code plus précise et plus abordable pour les équipes qui modernisent les logiciels dont leurs entreprises dépendent », a écrit OpenAI.

L'entreprise a également fait état d'améliorations dans la capacité de ses modèles à créer des logiciels de bases de données dans divers langages de programmation, dont le COBOL.

Anthropic voit elle aussi une opportunité dans les systèmes hérités. En février, elle a publié un « guide de modernisation du code » étape par étape et a présenté son agent de codage, Claude Code, comme un moyen de migrer du code COBOL vers des langages modernes comme Java ou Python. Elle n'a fourni aucun benchmark de performance montrant la capacité de Claude Code à réaliser de telles migrations, mais a déclaré que « l'économie de la modernisation du COBOL a changé ». Les actions d'IBM, qui tire une partie de ses revenus de l'aide aux entreprises pour maintenir des systèmes hérités, se sont effondrées après l'annonce d'Anthropic.

Les experts qui se sont entretenus avec The Verge ont convenu que les outils d'IA ont fait des progrès dans le traitement du code hérité ces dernières années. Mais ils ont averti que les avancées vantées par OpenAI cette semaine sont encore très loin de permettre de remplacer en toute sécurité des systèmes critiques hérités construits autour de lui.

Le porte-parole d'OpenAI Oscar Haines a reconnu dans un e-mail adressé à The Verge que le code hérité « est encore loin d'être un problème résolu » et a déclaré que l'entreprise écoute les retours des développeurs et des entreprises et explore des moyens de construire de meilleurs tests et de continuer à améliorer la compréhension des langages de programmation par ses modèles. Anthropic n'a pas fourni de commentaire à temps pour la publication.

« Les évaluations présentées par OpenAI ne traitent pas de la difficulté majeure : décomposer un système hérité complexe en unités plus petites pouvant être remplacées individuellement. »

« Réécrire du code, ce n'est pas la même chose que remplacer un système », a déclaré Vadim Zaytsev, professeur associé en évolution logicielle à l'Université de Twente aux Pays-Bas. Les systèmes contiennent certes beaucoup de code — Zaytsev a indiqué que le plus grand système qu'il ait vu comptait 250 millions de lignes de COBOL, « certainement pas le plus grand du monde » — mais ce n'est qu'une partie du problème. Le code peut être écrit dans plusieurs langages et il y a des données, potentiellement stockées dans divers formats, à prendre en compte, a-t-il dit. Il faut aussi garder à l'esprit les intégrations techniques avec d'autres systèmes ainsi que les attentes des personnes et des organisations.

Toute cette complexité fait que « l'IA ne joue pas un rôle majeur pour le moment dans le remplacement ou la migration des systèmes COBOL hérités », a déclaré Zaytsev.

Les évaluations d'OpenAI ne saisissent pas non plus cette réalité complexe, a expliqué à The VergeArie van Deursen, professeur de génie logiciel à l'Université de technologie de Delft aux Pays-Bas. Il a qualifié le blog de l'entreprise de « superficiel », notant qu'il offrait peu de détails sur la tâche de migration, tandis que son benchmark de langage testait les modèles sur une tâche relativement simple et bien définie impliquant des systèmes similaires à ceux qu'ils auraient rencontrés lors de leur entraînement. Il a également souligné l'énorme écart entre maintenir un système vieillissant et le moderniser. « Maintenir est bien sûr beaucoup plus facile que moderniser », a déclaré van Deursen, qualifiant les tâches utilisées par OpenAI pour évaluer ses modèles de « lightyears » loin de la modernisation réelle. « Les évaluations présentées par OpenAI ne traitent pas de la difficulté majeure : décomposer un système hérité complexe en unités plus petites pouvant être remplacées individuellement. »

Le plus grand défi n'est pas nécessairement la réécriture du code. « Le principal défi, ce n'est effectivement pas comprendre comment fonctionne le système », a déclaré Alastair Donaldson, professeur de langages de programmation à l'Imperial College de Londres. Un tel manque de compréhension est un problème « très courant » pour les systèmes hérités utilisant des langages comme le COBOL, a-t-il dit, ajoutant que très peu de personnes savent encore programmer dans ces langages. Et bien qu'il soit partout, Donaldson a déclaré que « personne d'un esprit sain n'utiliserait le COBOL pour un nouveau projet de développement ».

« Dans de nombreux cas, même de légères différences de comportement du système avant et après la migration sont inacceptables. »

Cela rend crucial un testage robuste, a dit Donaldson. Une approche pourrait consister à exécuter les mêmes flux de travail sur l'ancien et le nouveau système pour vérifier qu'ils se comportent de manière identique. L'IA pourrait aussi documenter sa traduction de code, permettant idéalement à des humains familiers du langage hérité de réviser le travail. La vérification formelle, qui utilise des techniques mathématiques pour vérifier de manière calculatoire que le code se comporte correctement, est une autre option, a déclaré Jacopo Mauro, professeur de mathématiques et d'informatique à l'Université du Danemark du Sud.

De telles méthodes sont déjà utilisées pour vérifier des résultats mathématiques générés par l'IA, mais leur application au code hérité exigerait une « énorme quantité de travail », a dit Mauro. L'utilisation de ces méthodes permettrait de vérifier le code automatiquement, a ajouté Mauro, précisant que « disposer de cela sera mieux que d'avoir un humain qui vérifie que la traduction est correcte ». D'ici là, a-t-il dit, « la vérification humaine reste essentielle ».

Et lorsque les systèmes concernés sont aussi critiques que ceux fonctionnant sous COBOL, les experts disent qu'il faut être absolument certain que le remplacement fonctionne. « Dans de nombreux cas, même de légères différences dans le comportement du système avant et après la migration sont inacceptables », a déclaré Zaytsev. Bien que l'IA puisse véritablement générer des économies et accélérer les choses, la complexité des systèmes hérités signifie que l'automatisation partielle ne suffit pas.

« Supposez que vous ayez une baguette magique d'IA qui gère 99 pour cent de votre code », a déclaré Zaytsev. « Que faites-vous du 1 pour cent restant ? Ce 1 pour cent peut représenter un million de lignes de code, réparties un peu partout et échouant subtilement de plus de façons que vous ne pouvez l'imaginer de votre vivant. »

Suivre les sujets et les auteurs "from this story to see more like this in your personalized homepage feed and to receive email updates."`}`
Source originale

The Verge AI

À propos du contenu

La publication originale et les droits appartiennent à la source.

Traduction automatique · Consultez l’original