ChatGPT peut écrire du code. Aujourd'hui, les chercheurs dis-les qu'il est également bon pour corriger les bogues
Le nouveau meilleur ami d'un développeur ? ChatGPT est parmi les meilleurs lorsqu’il s’agit de déboguer automatiquement le code. Mais il reste à voir si cela fait gagner du temps aux développeurs ou crée plus de travail.
Le chatbot ChatGPT d'OpenAI peut très bien corriger les bogues logiciels, mais son principal avantage par rapport aux autres méthodes et modèles d'IA est sa capacité unique de dialogue avec les humains qui lui permet d'améliorer l'exactitude d'une réponse.
Des chercheurs de l'Université Johannes Gutenberg de Mayence et de l'University College de Londres ont opposé ChatGPT d'OpenAI à des « techniques de réparation de programmes automatisés standard » et à deux approches d'apprentissage profond pour les réparations de programmes : CoCoNut, de chercheurs de l'Université de Waterloo, au Canada ; et Codex, le modèle basé sur GPT-3 d'OpenAI qui sous-tend le service de complétion automatique de code de programmation en binôme Copilot de GitHub.
« Nous constatons que les performances de correction de bogues de ChatGPT sont compétitives par rapport aux approches courantes d'apprentissage profond CoCoNut et Codex et nettement meilleures que les résultats rapportés pour les approches de réparation de programmes standard », écrivent les chercheurs dans un nouvel article d'arXiv, repéré pour la première fois par New Scientist.
Le fait que ChatGPT puisse être utilisé pour résoudre des problèmes de codage n'est pas nouveau, mais les chercheurs soulignent que sa capacité unique de dialogue avec les humains lui donne un avantage potentiel sur les autres approches et modèles.
Les chercheurs ont testé les performances de ChatGPT à l'aide du benchmark de correction de bogues QuixBugs. Les systèmes automatisés de réparation de programmes (APR) semblent être désavantagés, car ils ont été développés avant 2018.
ChatGPT est basé sur l'architecture du transformateur, que le chef de l'IA de Meta, Yann LeCunn, a souligné cette semaine comme étant développée par Google. Codex, CodeBERT de Microsoft Research et son prédécesseur BERT de Google sont tous basés sur la méthode de transformation de Google.
OpenAI met en évidence la capacité de dialogue de ChatGPT dans des exemples de débogage de code où il peut demander des éclaircissements et recevoir des conseils d'une personne pour arriver à une meilleure réponse. Il a formé les grands modèles de langage derrière ChatGPT (GPT-3 et GPT 3.5) à l’aide de l’apprentissage par renforcement à partir de la rétroaction humaine (RLHF).
Bien que la capacité de discussion de ChatGPT puisse l'aider à obtenir une réponse plus correcte, la qualité de ses suggestions reste incertaine, notent les chercheurs. C'est pourquoi ils ont voulu évaluer les performances de ChatGPT en matière de correction de bogues.
Les chercheurs ont testé ChatGPT contre QuixBugs 40 problèmes uniquement Python, puis ont vérifié manuellement si la solution suggérée était correcte ou non. Ils ont répété la requête quatre fois parce qu'il y a un certain caractère aléatoire dans la fiabilité des réponses de ChatGPT, comme l'a découvert un professeur de Wharton après avoir soumis le chatbot à un examen de type MBA.
ChatGPT a résolu 19 des 40 bogues de Python, ce qui le place au même niveau que CoCoNut (19) et Codex (21). Mais les méthodes standard d’APR n’ont résolu que sept des problèmes.
Les chercheurs ont constaté que le taux de réussite de ChatGPT avec les interactions de suivi atteignait 77,5 %.
Les implications pour les développeurs en termes d’effort et de productivité sont cependant ambiguës. Stack Overflow a récemment interdit les réponses générées par ChatGPT parce qu’elles étaient de mauvaise qualité mais semblaient plausibles. Le professeur de Wharton a constaté que ChatGPT pourrait être un excellent compagnon pour les étudiants en MBA, car il peut jouer le rôle d’un « consultant intelligent » - qui produit des réponses élégantes mais souvent fausses - et favoriser la pensée critique.
« Cela montre que l’entrée humaine peut être d’une grande aide pour un système APR automatisé, ChatGPT fournissant les moyens de le faire », écrivent les chercheurs.
« Malgré ses excellentes performances, la question se pose de savoir si le coût mental requis pour vérifier les réponses de ChatGPT l’emporte sur les avantages qu’apporte ChatGPT. »
