La nouvelle IA de Microsoft serait capable de déboguer votre code plus rapidement et plus précisément
Le prototype affiche déjà des résultats convaincants, grâce à une méthode d’apprentissage basée sur un célèbre jeu d’enfants.
L’équipe Recherche et Développement de Microsoft vient de développer une nouvelle solution d'intelligence artificielle (IA) qui, selon elle, serait capable d’aider les programmeurs à déboguer leurs applications plus rapidement et plus précisément.
Appelée BugLab, l'IA fonctionne de manière similaire à la création des réseaux antagonistes génératifs (GAN). Dans un billet de blog, les experts Miltos Allamanis (responsable Machine Learning) et Marc Brockschmidt (directeur principal de la recherche) expliquent comment ils ont créé deux réseaux et les ont opposés l'un à l'autre, à l'image d’une partie de cache-cache.
Un réseau est conçu pour créer des bugs, petits et grands, dans le code existant, tandis que l'autre doit apprendre à les localiser. Au fur et à mesure que la partie avance, et que les deux "adversaires" s'améliorent, l'IA arrive à un point où elle se révèle suffisamment affirmée pour identifier les bugs cachés dans le code réel.
- Meilleurs NAS : centralisez vos documents vitaux à la maison comme au bureau
- Meilleurs antivirus 2021 : quelle solution choisir ?
- En complément de votre antivirus, optez pour les meilleurs VPN
Les deux modèles ont été entraînés conjointement, sans données étiquetées, de manière auto-supervisée, sur des "millions de bouts de code", expliquent les chercheurs.
Même si l'idée de départ consistait à créer un programme capable d'identifier des bugs arbitrairement complexes, ceux-ci sont encore "hors de portée de la méthodologie des IA modernes", expliquent l’équipe R&D. Dès lors, elle a préféré se concentrer sur les bugs les plus courants, tels que les comparaisons avec erreurs, les opérateurs booléens incorrects, les mauvais usages de variables et autres anomalies similaires.
Un modèle à affiner
Les tests ont été effectués sur Python, avant d’être déployés sur des situations pratiques.
"Pour mesurer les performances, nous annotons manuellement un petit ensemble de données buguées provenant de paquets de l'index des paquets Python. Nous démontrons ainsi que les modèles formés avec notre méthode de cache-cache s’avèrent jusqu'à 30% plus fiables par rapport à d'autres alternatives. Par exemple, les détecteurs formés avec des bugs insérés de manière aléatoire", ajoute notre tandem.
Etes-vous un expert ? Abonnez-vous à notre newsletter
Inscrivez-vous à la newsletter TechRadar Pro pour recevoir toutes les actualités, les opinions, les analyses et les astuces dont votre entreprise a besoin pour réussir !
Le duo a qualifié les résultats de "prometteurs", car environ un quart (26%) des bugs ont pu être trouvés et corrigés automatiquement. De plus, parmi les anomalies détectées figuraient 19 bugs inconnus jusqu'alors.
Toutefois, les faux positifs restent nombreux, ce qui amène les chercheurs à conclure qu'un entraînement beaucoup plus poussé s’avère encore nécessaire. tout du moins avant qu'un tel modèle puisse être exploité avec une totale assurance dans la pratique.
Sead is a seasoned freelance journalist based in Sarajevo, Bosnia and Herzegovina. He writes about IT (cloud, IoT, 5G, VPN) and cybersecurity (ransomware, data breaches, laws and regulations). In his career, spanning more than a decade, he’s written for numerous media outlets, including Al Jazeera Balkans. He’s also held several modules on content writing for Represent Communications.