Dernières nouvellesAvec CodeNet, IBM dope la correction de code à...

Avec CodeNet, IBM dope la correction de code à l’IA

-

Le projet open source CodeNet vise faire pour l’IA for code ce qu’ImageNet a fait pour la vision par ordinateur, prsente IBM. L’utilisation de l’intelligence artificielle pour la correction du code des applications sort du stade du Proof-of-concept. Avec sa volumineuse base d’chantillons de code, le projet va l’aider se gnraliser.

L’importance prise par le logiciel dans le fonctionnement des entreprises et de la société toute entière n’est plus à démontrer. Qu’il s’agisse des services financiers, de la santé, des smartphones, des habitats connectés ou des voitures qui, rappelle IBM, supportent maintenant des dizaines de millions de lignes de code. Au total, ce sont des milliards de lignes de code. Mais maintenir et débugguer des logiciels d’une telle complexité relève aussi du défi permanent. Pour en faciliter la correction et la mise à jour, l’intelligence artificielle s’impose comme une évidence, déjà mise en oeuvre par un certain nombre d’éditeurs d’outils spécialisés. Le projet open source CodeNet a l’ambition d’aller plus loin dans l’AI for code. Annoncé il y a quelques jours par IBM, à l’occasion de sa conférence Think, il a l’objectif de fournir à la communauté de recherche un vaste ensemble d’exemples de code, organisé et diversifié, pour stimuler l’innovation dans ce domaine de l’IA appliqué au code. 

Dans le répertoire du projet CodeNet sur GitHub, IBM explique qu’AI for Code est sur le point de passer du stade du Proof-of-concept à l’adoption généralisée. Big blue pense que CodeNet peut agir comme un catalyseur dans cette bascule. A des fins de benchmarking et d’expérimentation, le projet réunit 14 millions d’échantillons de code et environ 500 millions de lignes de programmation dans plus de 55 langages différents, quoi que 95% d’entre eux proviennent des six langages les plus courants actuellement : C++, Python, Java, C, Ruby, C # (mais on y trouve aussi du Rust, du Go, du Pascal, du Fortran et du Cobol). Chaque échantillon est présenté comme une solution à l’un des 4000 problèmes de codage. IBM explique que son projet présente des similitudes avec ImageNet, un immense dataset dans le domaine de l’imagerie qui a eu un impact considérable sur la recherche en matière de vision par ordinateur. « CodeNet vise à faire pour l’IA for code ce qu’ImageNet a fait pour la vision par ordinateur », note-t-il sur GitHub.

Plus de 90% des problèmes décrits

Ceux qui travaillent déjà dans l’IA to code utilisent des technologies comme le traitement du langage naturel (NLP) en les complétant d’analyse de code et de techniques de compilation pour exécuter différentes tâches pratiques telles que la recherche de code, la synthèse, la complétion ainsi que la traduction d’un code à l’autre. Cette dernière est notamment employée pour moderniser des applications existantes héritées et les transformer en micro-services, ainsi que Ruchir Puri, d’IBM Research, l’explique notamment dans un podcast. 

Ce qui distingue CodeNet des initiatives déjà menées, c’est d’une part la mise à disposition d’exemples sur plus de 50 langages, avec différentes informations : taille, empreinte mémoire, runtime CPU, ainsi que le statut qui indique les types d’acceptation ou d’erreur. Plus de 90% des problèmes sont décrits, avec les formats d’entrée et de sortie. « Les utilisateurs peuvent exécuter les échantillons de code acceptés (plus de 50% des soumissions sont acceptées) pour extraire des métadonnées supplémentaires et vérifier l’exactitude des résultats des modèles d’IA génératif », indique IBM en ajoutant un autre domaine couvert par le projet : la qualité des exemples de données. Il évoque à ce sujet l’article d’un chercheur de Microsoft Research de Cambridge (Royaume-Uni), Miltiadis Allamanis, sur « Les effets indésirables de la duplication de code dans les modèles d’apprentissage machine de code ». Plusieurs benchmarks ont été développés pour réduire ces problèmes. Des outils de productivité sont par ailleurs fournis pour que les utilisateurs puissent agréger les échantillons en fonction de leurs propres critères.

L’importance du contexte pour convertir un programme

Dans un billet, IBM souligne également l’importance des projets de modernisation des logiciels. Il rappelle que la conversion d’une application écrite dans un langage vers un autre langage en se basant sur des règles n’est pas si facile, notamment parce que chaque langage a son contexte. « Plus le programme est grand, plus il est difficile à traduire », pointe le fournisseur. « Alors que dans le langage humain, le contexte peut être limité à un paragraphe ou deux, ici le contexte peut se rapporter à plusieurs bibliothèques de code. C’est un défi à relever pour l’IA ». Les systèmes basés sur des règles peuvent traduire entre 50 et 60% d’un programme. Le reste doit être fait manuellement en faisant appel à des règles complexes. Et c’est là où l’IA peut intervenir, en se comportant comme le ferait un humain. « Projet CodeNet peut stimuler l’innovation algorithmique pour extraire le contexte avec des modèles séquence à séquence, tout comme nous l’avons appliqué dans les langages humains ».

IBM termine son billet en citant l’exemple d’un client de l’industrie automobile lui ayant demandé son aide pour mettre à jour 3 500 fichiers Java de différentes générations réunissant plus d’un million de lignes de code sur une décennie. « Il s’agissait d’un code d’applicaton monolithique complexe, peu propice aux environnements de cloud », décrit le fournisseur. « Avec notre pile AI for Code, nous avons réduit le processus de migration engagé par l’entreprise sur un an à seulement 4 semaines en générant plus de 25 nouveaux micro-services par réusinage de code ».

Dernières Nouvelles

Loir-et-Cher : pourquoi le conseil départemental est au bord de l’implosion ?

Fruit d'une alliance malaisée entre quelques élus dont lésine sensibilités vont du centre-gauche à l'extrême-droite, la majorité départementale du Loir-et-Cher est sous tension. Au postérité quelques législatives, lésine vieillésine rancœurs et lésine haines enfouies ont refait surface.

Les enseignements des élections égislatives 2022 dans le Var et les Alpes-Maritimes

un paysage politique national est chamboulé. Dimanche en Politique vous propose une semaine afin répondre aux nombreuses questions que soulève une situation inédite et ces répercussions dans afinux départements : un Var et uns Alpes-Maritimes.

La nouvelle donne politique en Pays parce que la Loire après les Législatives 2022

Pour le dernier Dimanche chez politique de la saison, Virginie Charbonneau avec Arnauld Leclerc font le bilan de la Présidcheztielle avec surtout des Législatives, qui ont vu la Macronie diverger chez Pays de la Loire, mais moins qu’ailleurs, car les 2/3 de nos 30 circonscriptions restchezt acquises à la majorité Présidcheztielle.

Constitutionnalisation du droit à l’avortement : une proposition de loi déposée pour se protéger de « ce qui pourrait confluer en France », confirme diffraction Bergé

Députée des Yvelinons et présidente du groupe Renaissance à l'Assemblée, Aurore Bergé indique que cette proposition de loi a été déposée ce samedi car la décision de la Cour suprême aux états-Unis montre "que les droits des femmes non sont exclusivement en aucun cas acquis."

A Lire Absolument

Appareil Lenovo Area S.p.A. sistema di monitoraggio Dual Band

La caméra IP sans fil Lenovo Area S.p.A. sistema...

Andrea Formenti parle de l’importance des technologies de l’information

L'informatique a pénétré pratiquement tous les aspects des affaires...

Pour vous