Alors que les modèles d’intelligence artificielle générative comme ChatGPT, Claude, Gemini ou CodeWhisperer font déjà figure d’assistants prometteurs pour l’écriture de code, une nouvelle étude menée par des chercheurs de Microsoft met un sérieux bémol à l’enthousiasme ambiant : l’IA n’est pas encore à la hauteur lorsqu’il s’agit de déboguer efficacement du code réel.La prolifération continue des outils de codage de l'IA ne stimule pas seulement l'efficacité des développeurs, elle signale également un avenir où l'IA générera une part croissante de tout nouveau code. Thomas Dohmke, PDG de GitHub, l'a prédit en 2023, lorsqu'il a déclaré que « tôt ou tard, 80 % du code sera écrit par Copilot ».
Les petites et grandes entreprises de logiciels utilisent déjà largement l'IA pour générer du code. Garry Tan, de Y Combinator, a noté que 95 % du code d'un quart des dernières start-ups de Y Combinator était écrit par de grands modèles de langage.
En fait, selon Microsoft, la plupart des développeurs passent la majeure partie de leur temps à déboguer le code, et non à l'écrire. Des chercheurs de son écurie déclare d'ailleurs :
« En tant que mainteneurs de dépôts de logiciels libres populaires, nous nous sentons concernés par ce constat. Mais que se passerait-il si un outil d'IA pouvait proposer des correctifs pour des centaines de problèmes ouverts, et si nous n'avions qu'à les approuver avant de les fusionner ? C'est ce qui nous a incités à maximiser les gains de temps potentiels des outils de codage IA en leur apprenant à déboguer le code.
« Par débogage, nous entendons le processus interactif et itératif de correction du code. Les développeurs émettent généralement des hypothèses sur la raison du plantage de leur code, puis rassemblent des preuves en parcourant le programme et en examinant les valeurs des variables. Ils utilisent souvent des outils de débogage tels que pdb (débogueur Python) pour les aider à recueillir des informations. Ce processus est répété jusqu'à ce que le code soit corrigé.
« Les outils de codage IA d'aujourd'hui stimulent la productivité et excellent à suggérer des solutions aux bogues sur la base du code disponible et des messages d'erreur. Cependant, contrairement aux développeurs humains, ces outils ne recherchent pas d'informations supplémentaires lorsque les solutions échouent, ce qui laisse certains bogues sans réponse, comme vous pouvez le voir dans cette démonstration simple qui montre comment une colonne mal étiquetée fait échouer les outils de codage d'aujourd'hui. Les utilisateurs peuvent ainsi avoir l'impression que les outils de codage de l'IA ne comprennent pas tout le contexte des problèmes qu'ils tentent de résoudre ».
Debug-gym : un environnement pour les outils de codage de l'IA afin d'apprendre à déboguer le code comme des programmeurs
Il existe peu de domaines dans lesquels l'IA a été déployée de manière aussi robuste que dans celui du développement de logiciels. Du « vibe coding » (une nouvelle pratique dans laquelle des personnes, dont certaines ont une expérience limitée du codage, développent rapidement des logiciels à l'aide d'outils de codage assistés par l'IA, sans se préoccuper de l'efficacité du code tant qu'il est fonctionnel) à GitHub Copilot, en passant par les startups qui créent des applications rapides avec l'aide de LLM, l'IA est déjà profondément intégrée. Même Google a déclaré avoir généré 25% de son code par IA.
Toutefois, ceux qui prétendent que nous ne sommes qu'à quelques mois du remplacement de la plupart des développeurs par des agents d'IA devraient revoir leurs attentes, car les modèles ne sont pas assez performants en matière de débogage, et le débogage occupe la majeure partie du temps d'un développeur. C'est ce que suggère Microsoft Research, qui a créé un nouvel outil appelé debug-gym pour tester et améliorer la façon dont les modèles d'IA peuvent déboguer les logiciels.
Debug-gym (disponible sur GitHub et détaillé dans un billet de blog) est un environnement qui permet aux modèles d'IA d'essayer de déboguer n'importe quel dépôt de code existant en ayant accès à des outils de débogage qui ne font pas historiquement partie du processus pour ces modèles. Microsoft a constaté que sans cette approche, les modèles sont très mauvais dans les tâches de débogage. Avec cette approche, ils...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.

Quel est votre avis sur le sujet ?
calvaire,