IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

L'IA n'est pas prête à remplacer les développeurs humains pour le débogage, selon des chercheurs de Microsoft.
Elle ne peut pas déboguer les logiciels de manière fiable même si elle a accès à des outils

Le , par Stéphane le calme

99PARTAGES

10  0 
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 s'améliorent, mais sont encore loin de ce que peut faire un développeur humain expérimenté.

Voici comment les chercheurs de Microsoft décrivent debug-gym :

« Une question de recherche naturelle émerge : dans quelle mesure les LLM peuvent-ils utiliser des outils de débogage interactifs tels que pdb ? Pour explorer cette question, nous avons lancé debug-gym - un environnement qui permet aux agents de réparation de code d'accéder à des outils pour un comportement actif de recherche d'informations. Debug-gym élargit l'espace d'action et d'observation d'un agent grâce au retour d'information de l'utilisation des outils, ce qui permet de définir des points d'arrêt, de naviguer dans le code, d'imprimer des valeurs variables et de créer des fonctions de test. Les agents peuvent interagir avec les outils pour étudier le code ou le réécrire, s'ils ont confiance. Nous pensons que le débogage interactif avec des outils appropriés peut permettre aux agents de codage de s'attaquer à des tâches réelles de génie logiciel et qu'il est au cœur de la recherche sur les agents basée sur le LLM. Les corrections proposées par un agent de codage doté de capacités de débogage, puis approuvées par un programmeur humain, seront fondées sur le contexte de la base de code, de l'exécution du programme et de la documentation, plutôt que de s'appuyer uniquement sur des suppositions basées sur des données d'entraînement vues précédemment ».

Vous trouverez ci-dessous les résultats des tests effectués avec debug-gym.


Les agents qui utilisent des outils de débogage sont nettement plus performants que ceux qui n'en utilisent pas, mais leur taux de réussite n'est pas encore assez élevé

Une approche efficace mais qui souligne les limites de l'outil

Cette approche est beaucoup plus efficace que celle qui consiste à s'appuyer sur les modèles tels qu'ils sont habituellement utilisés, mais lorsque votre meilleur cas est un taux de réussite de 48,4 %, vous n'êtes pas prêt pour le primetime. Les limites sont probablement dues au fait que les modèles ne comprennent pas parfaitement comment utiliser au mieux les outils et que leurs données d'entraînement actuelles ne sont pas adaptées à ce cas d'utilisation.

« Nous pensons que cela est dû à la rareté des données représentant un comportement décisionnel séquentiel (par exemple, les traces de débogage) dans le corpus d'entraînement LLM actuel », indique le billet de blog. « Cependant, l'amélioration significative des performances... valide le fait qu'il s'agit d'une direction de recherche prometteuse ».

Ce rapport initial n'est que le début des efforts, affirme le billet. L'étape suivante consiste à « affiner un modèle de recherche d'informations spécialisé dans la collecte des informations nécessaires à la résolution des bogues ». Si le modèle est volumineux, la meilleure solution pour réduire les coûts d'inférence pourrait être de « construire un modèle de recherche d'informations plus petit qui puisse fournir des informations pertinentes au modèle plus important ».

Ce n'est pas la première fois que nous voyons des résultats qui suggèrent que certaines des idées ambitieuses sur les agents d'IA remplaçant directement les développeurs sont assez éloignées de la réalité. De nombreuses études ont déjà montré que même si un outil d'IA peut parfois créer une application qui semble acceptable à l'utilisateur pour une tâche précise, les modèles ont tendance à produire un code chargé de bogues et de vulnérabilités de sécurité, et ils ne...
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.

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de RenarddeFeu
Membre averti https://www.developpez.com
Le 14/04/2025 à 11:50
L'IA, c'est le cancre qui a triché lors de l'examen en copiant sur son petit camarade sans réfléchir. Des fois le code marche, d'autres non.
6  0 
Avatar de kain_tn
Expert éminent https://www.developpez.com
Le 08/07/2025 à 20:02
Citation Envoyé par Anthony Voir le message
Quel est votre avis sur le sujet ?
Trouvez-vous la position du PDG de GitHub crédible ou pertinente ?
Pour commencer, je pense qu'on devrait arrêter de parler d'IA pour un produit qui n'a d'intelligent que le nom.

Maintenant, même si je pense effectivement que leurs IA génératives ne peuvent pas remplacer un développeur compétent, qu'elles posent des problèmes éthiques et juridiques (vol de code et violation de licences), qu'il y a mille et une façons de les pousser à produire du code non-sécurisé (l'idée d'utiliser les Rule Files, par exemple, est à mourir de rire), et qu'elles sont absolument nullissimes dès qu'il s'agit de produire quelque chose qui n'a pas déjà été inventé, je suis d'accord avec le PDG de Github sur le fait que "savoir coder manuellement reste une compétence irremplaçable".

Dommage que le reste du management chez Microsoft pense que ça vaut le coup de dépenser des milliards pour cette purge dans l'espoir de virer plus de gens...

Plus sérieusement, je pense que Thomas Dohmke a réalisé deux choses:
  • Si tout le code est généré par des IA (du code jetable, donc, vu la mémoire de poisson rouge des agents d'IA), alors plus besoin de le versionner, et par conséquent plus besoin de GitHub
  • S'il a moins de repositories sur GitHub, il n'a plus rien pour entraîner ses IA
4  0 
Avatar de sanzalure
Membre à l'essai https://www.developpez.com
Le 09/07/2025 à 11:53
Ce ne sont pas les programmeurs mais les décideurs qu'il faudrait congédier. Dans les entreprises, ce sont les travailleurs qui font le vrai travail, la haute direction est peuplée d'imposteurs qui font n'importe quoi. Il suffit d'observer l'état de la situation mondiale pour le constater. Le problème ne vient pas d'en bas, il vient d'en haut. Pas besoin d'être un génie pour s'en rendre compte.
4  0 
Avatar de RenarddeFeu
Membre averti https://www.developpez.com
Le 15/12/2025 à 22:21
Travailler pour les entreprises de la tech n'a jamais été un placement d'avenir. Tu prends le gros salaire tant qu'il tombe et tu espères passer entre les mailles du filet à chaque restructuration.

Alors oui, si t'as de la chance, que tu as rejoint Microsoft à la fin des années 80 par exemple, tu peux en ressortir millionnaire. Hélas, de nos jours, ce sont surtout les investisseurs qui font la culbute financière et non les salariés.
3  0 
Avatar de calvaire
Expert éminent https://www.developpez.com
Le 25/06/2025 à 12:14
Citation Envoyé par Matthieu Vergne Voir le message
Je peux donc tout à fait envisager un futur où de vrais entreprises feront de vrais applications mais sans vrai développeurs, juste avec des prompt engineers, et ça suffira bien. Par contre on n'y est pas encore, et tant que ce n'est pas le cas on doit maintenir la compétence pour éviter que la qualité ne chute. Ne serait-ce que pour garder un minimum de qualité pour entrainer encore les modèles.

Mais une fois qu'on aura ces outils, aurons-nous "envie" de compter sur eux ?
mais qu'es ce qui créera de la data pour les modèles ?
le monde du logiciel et vivant et évolue chaque jours.

qui va mettre à jours le kernel linux à la version 7.0, qui va faire évoluer php vers php8, qui va coder python4, qui va faire évoluer le framework angular/react a la version n+1...
pour les dev utilisant ces outils, comment une ia va savoir coder en python4/php8 ? si plus personne ne poste d'exemple sur stackoverflow ou de bug avec ces fix ?

on peut imaginer une ia connecté à github comprenant directement le code des libs et apis, par exemple relier au code de spring boot à la dernière version, mais pour construire leurs llm bizarrement les boites ne s'entraine pas que la dessus...
Pour avoir étudié la question, la ou les llms sont performante c'est en ayant des manuels scolaire comme datasource.
les ia relié au code sont une vrai cata, l'ia qui relis les mr sur github c'est une grosse blague.

Plus globalement les modeles commence déja à regresser/stagner tellement le web d'aujourd'hui a été pollué par ces memes llms.

l'ia est forte pour recrée des choses existante tres courante dans la vie, mais bien incapable sur des trucs mal entrainé.
J'ai un bon exemple avec le moteur panda3d en python, ca reste un moteur "peu" connu et peu utilisé dans le monde, j'ai essayé plusieurs ia (chatgpt, claude, gemini) elle est vraiment nul, la moitié du code marche pas, des fonctions qui existe pas, des imports faux...etc.
Avec des trucs bien plus populaire, comme la lib numpy par contre nikel.
j'ai meme tenté avec chatgpt pro de lui donner le code source du moteur panda3d histoire qu'il arrete de m'inventer des fonctions, mais c'était pas mieux, incapable de mettre les bons types.

quand le code marche, incapable de bien coder une physique avec bullet, je lui ai demandé un truc basique comme faire sauter mon personnage a la touche espace, j'ai eu n'importe quoi.
la gestion de la camera, incapable de me faire une vue fps/tps basique.

pour les textures, c'est pas trop mal, par exemple je lui dmeande de me faire une décoration de fenetre style parchemin medieval, je ne suis pas graphiste et ca donne un bon résultat.
pour les textures en boucle, comme de l'herbe ou du bois, c'est en dessous les libs de texture pbr gratuite.

mais pour dessiner des "motifs elfiques" ou des petites decos inventés comme mes bordures de fenetre c'est bon.
2  0 
Avatar de Matthieu Vergne
Expert éminent https://www.developpez.com
Le 08/07/2025 à 23:34
Citation Envoyé par kain_tn Voir le message
Dommage que le reste du management chez Microsoft pense que ça vaut le coup de dépenser des milliards pour cette purge dans l'espoir de virer plus de gens...
C'est surtout qu'ils se sont rendu compte que les employés de Microsoft font majoritairement aussi bien qu'une IA... Ce qui explique bien des choses.
2  0 
Avatar de mach1974
Membre averti https://www.developpez.com
Le 16/12/2025 à 16:00
il est marrant de prendre l'IA comme symptome alors que la crise des subprimes aux USA refait son entrée . On a peut-être embauché des dev qui n'en sont pas .... les emplois étaient du bull shit . des gens PO pour gérer des besoins alors que les dev qui codent suffisent pour planifier, faire des tests et des AO
2  0 
Avatar de Matthieu Vergne
Expert éminent https://www.developpez.com
Le 25/06/2025 à 21:28
Je n'ai pas dis toutes les entreprises. Déjà, tout ce qui est de l'ordre de l'innovation est peu adapté, vu que l'IA construit sur ce qu'elle connaît. Tout au plus elle peut faciliter le travail (e.g. fournir des méthodes connues pour traiter les nouveaux sujets), mais pas le faire entièrement (pas traiter le nouveau sujet lui-même, en tout cas pas de manière fiable).

Pour autant, il y a des tas d'entreprises qui se contentent de faire ce que font beaucoup d'autres comme elle : le contexte change, mais la méthode reste la même. Dans ce genre de cas, il n'y a a priori pas de raison que les IA n'arrivent pas un jour à une bonne autonomie : comme ça se trouve partout, des données il y en aura, donc l'apprentissage pourra se faire (à moins que le législateur ne l'entende pas de cette oreille). Pour moi ce genre de cas n'est qu'une question de temps avant d'y arriver.

Quand à tes expériences je ne peux pas en dire grand chose. Pour expérimenter moi-même, je me rends bien compte qu'il y a des fois où ça marche très bien, d'autres où ça foire lamentablement. Le truc c'est qu'à force de creuser j'adapte ma façon de l'utiliser et finalement j'obtiens ce que je veux. De la même manière, qu'est-ce qui te dis que tu n'aurais pas pu obtenir bien mieux avec un autre modèle ou un autre prompt ? Ce n'est pas le genre de choses facile à répondre de manière systématique. Et l'expérience d'aujourd'hui ne présage pas de celle de demain, vu qu'on en est encore au début.

C'est un outil. Avant de critiquer l'outil, il faut regarder sa façon de l'utiliser.
1  0 
Avatar de calvaire
Expert éminent https://www.developpez.com
Le 26/06/2025 à 8:28
Citation Envoyé par Matthieu Vergne Voir le message
Quand à tes expériences je ne peux pas en dire grand chose. Pour expérimenter moi-même, je me rends bien compte qu'il y a des fois où ça marche très bien, d'autres où ça foire lamentablement.
L'ia est très performante sur les libs tres utilisé et donc avec pleins de threads sur les forums/stackoverflow.
Sur les trucs moins connu (mais pas non plus confidentiel) elle est vraiment mauvaise.

C'est ce qui tends a me faire pensé que l'ia va perdre en performance dans le temps avant de trouver un équilibre.
la fréquentation dans les forums et stackoverflow a beaucoup baissé depuis l'ia, et la qualité du web a baissé d'une manière générale. Ce qui rends le dataset bien moins pertinent et donc va rendre l'ia je pense moins performante dans les nouvelles technos.

On le voit pas encore trop aujourd'hui car les versions n+1/n+2 sont encore assez proche des versions ou l'ia était au top, mais plus le temps passe plus ca risque de dévisser.
Peut etre que je me trompe évidement et que les chercheurs développeront des techniques (comme les datasets synthétique) ou une façon de comprendre le code source plutot que de se baser sur des exemples de forums pour toujours avoir une bonne ia pour le code.
Ou plus simplement payer des hordes d'indiens à faire des datasets sur du code moderne

jusqu'a présent les llm sont entrainé sur le principe de questions réponses, alors je vois pas comment juste piocher du code sur github peut fonctionner.
On peut toujours bidouiller et faire dire à l'ia ce que fait chaque fonctions pour ensuite generer un dataset synthétique, mais avec un risque d'erreurs pourissant le dataset.

Je ne suis pas un expert dans les llm c'est pas mon metier, je m'y intéresse "de loins", j'ai jamais crée de modèle, j'ai juste regarder des interviews de ceux qui en font et j'ai regardé des datasets opensource sur hugging face pour voir à quoi sa ressemble.
1  0 
Avatar de IGY-Francia
Inactif https://www.developpez.com
Le 09/07/2025 à 9:13
Ce message a été posté en 2023 et 2 ans après, on est encore loin de cette idée d’autonomie totale de l’IA en termes de programmation. On verra d’ici 5 ans ma foi …

“systèmes capables d’écrire du code et de le maintenir sans intervention humaine. Ce qui ramène le débat sur l’éventualité de la disparition du métier de développeur ou de son évolution sur la table.”

Cette question revient sans cesse dans le monde IT et en tant que webmarketer entourée de développeurs au quotidien, je pense que le métier est bel et bien amené à évoluer d’une manière ou d’une autre. Certains s’imaginent travailler uniquement sur des projets IA dans le futur tandis que d’autres insistent sur le fait que l’intervention humaine sera toujours nécessaire.

“entre deux et quatre heures par jour sont consacrées à l'écriture du code. Le reste de la journée, ils font d'autres choses, comme des réunions, des rapports de crash.”
De ce que j’ai pu observer, ils ne font que coder haha Après cela dépend des tâches attribuées à chacun. Oui il y a bien des résolutions d’erreurs et des réunions mais de là à dire qu’ils codent 2h par jour …

Êtes-vous d’accord avec les avis selon lesquels ce n’est qu’une question de temps avant que l’intelligence artificielle ne s’accapare tous les postes de développeur informatique ?
J’ai traité ce sujet il n’y a pas longtemps si jamais ça intéresse quelqu’un. Les missions du développeur vont évoluer c’est certain. Laissons au moins quelques années à l’IA avant de paniquer parce que mine de rien, certains clients préfèrent faire confiance aux capacités et compétences d’un professionnel plutôt qu’une machine avec des connaissances encore limitées/machine learning.

1  0