Pour gérer vos consentements :

BugLab : une autre approche de l’IA pour l’analyse du code source

Utiliser des réseaux antagonistes génératifs (GAN) pour détecter et corriger des erreurs dans du code ? C’est le fondement de l’approche BugLab. Récemment présentée à la conférence NeurIPS, elle émane de Microsoft Research.

BugLab s’inspire de la méthode GAN en mettant en concurrence deux modèles qui se livrent à une sorte de « cache-cache ». Le premier examine un fragment de code, décide s’il doit y introduire une erreur, où et sous quelle forme. Le second tente de détecter ces erreurs et de les corriger. Au fil des cycles, ils se renforcent l’un l’autre. L’entraînement se fait sans supervision et ne nécessite pas de jeu de données préalablement étiqueté.

L’approche BugLab ne traite pas le code comme une suite de séquences en langage naturel*. Elle l’examine comme un tout et dégage des entités (expression, symbole, identifiant…) modélisées dans un graphe. Cela permet d’exploiter des architectures de réseaux neuronaux standard.

Les modèles entraînés « en mode BugLab » se révèlent, selon les chercheurs, jusqu’à 30 % plus performants que ceux entraînés avec des erreurs introduites au hasard. Environ un quart de ces erreurs peuvent être corrigées automatiquement. Mais le taux de faux positifs est important (98 % environ sur un échantillon de dépôts GitHub non rencontrés lors de la phase d’entraînement).

La couverture fonctionnelle est encore limitée. Elle se concentre en l’occurrence sur quelques erreurs fréquentes. Parmi elles, l’usage de variables inappropriées et des mauvais opérateurs booléens.

L’échantillon RandomBugs se compose d’environ 760 000 fragments de code dérivés des fonctions issues de 600 paquets PyPi. Pour chaque fonction, on en ajoute 9 réécritures contenant un bug inséré au hasard. PyPiBugs contient quand à lui de « vraies » erreurs collectées sur l’ensemble des paquets PyPi.

* Au contraire, par exemple, de GitHub Copilot ou de CodeT5 (Salesforce).

Illustration principale © artinspiring – Adobe Stock

Recent Posts

Guerre en Ukraine : les PME et ETI redoutent les cyberattaques

Le CESIN publie une étude qui témoigne d’une vraie « cyber-crispation » des dirigeants d’entreprises…

21 minutes ago

Logiciels : Broadcom convoite VMware, qui bondit de 20%

Le fabricant américain de semi-conducteurs Broadcom pourrait acquérir VMware, spécialiste de la virtualisation et des…

17 heures ago

Cybersécurité : Microsoft recrute encore pour renforcer ses produits

Microsoft a recruté Jason Roszak, chef de produit réputé, pour optimiser la gestion des serveurs…

18 heures ago

Antennes 5G : Deutsche Telekom explore l’éolien pour les alimenter

Utiliser l’énergie éolienne pour contenir la flambée des coûts de l’électricité en Allemagne, c'est le…

20 heures ago

Souveraineté numérique : le choix de Bruno « Bercy » Le Maire

La compétence "numérique" est étendue aux prérogatives de Bruno Le Maire, reconduit à la tête…

23 heures ago

Windows 11 : Microsoft se rapproche de la disponibilité d’Android 12.1

Microsoft a publié une mise à jour qui permet, pour les testeurs de Windows 11,…

1 jour ago