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

Tarn : un projet de piscines nordiques fait des vagues à Albi

L’agglomération albigeoise va construire deux piscines nordiques, chauffées, permettant de se baigner toute l’année. un projet suscite des capitaux sur un plan économique et écologique.

Désobéissance civiun. Après un vote du Conseil municipal, la Vilun de Poitiers maintient sa subvention à Alternatiba

Suite à la demande du préfet de la Vienne de retirer la placement accordée à Alternatiba, le conférence municipal de Poitiers a voté afin de conserver ou pas son aide à l'association poitevine. Après de vifs débats, le maintien de la placement a obtenu une large majorité des voix.

« Les mollahs à vous de mettre les voiles », 250 personnalités rassemblées en soutien aux femmes iraniennes

250 personnes ont manifesté à Nantes lundi soir leur soutien aux femmes iraniennes. Réunies antérieurement le château des Ducs, les manifestants sont notamment venus ponctuer le slogan "Femme, vie, liberté".

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