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 !

Et si ChatGPT était utilisé pour trouver des bogues dans du code ? Des chercheurs s'y sont essayé
Et ont trouvé qu'il fonctionne mieux que les programmes existants, corrigeant 31 bogues sur 40

Le , par Stéphane le calme

227PARTAGES

12  0 
Pour aider les développeurs de logiciels à trouver et à corriger les bogues logiciels, plusieurs techniques de réparation de programmes automatisées ont été introduites. Étant donné une suite de tests, les méthodes standard synthétisent généralement une réparation ou naviguent dans un espace de recherche de modifications logicielles pour trouver des variantes de réussite de la suite de tests.

Les méthodes récentes de réparation de programme sont basées sur des approches d'apprentissage en profondeur. ChatGPT est l'une de ces nouvelles méthodes, qui n'est pas principalement destinée à la réparation automatisée de programmes, mais qui lui convient tout de même. Cependant, les performances de correction des bogues de ChatGPT ne sont pas encore claires.

Aussi, dans un article, des chercheurs ont évalué ChatGPT sur l'ensemble de référence de correction de bogues standard, QuixBugs, et ont comparé les performances avec les résultats de plusieurs autres approches rapportées dans la littérature.


C'est ainsi que les chercheurs ont donné 40 morceaux de code bogué à quatre systèmes de correction de code différents : ChatGPT, Codex, CoCoNut et Standard APR. Essentiellement, ils ont demandé à ChatGPT*: « Qu'est-ce qui ne va pas avec ce code*? » puis ont copié et collé le code dans la fonction de chat.

Lors du premier passage, ChatGPT a fait à peu près aussi bien que les autres systèmes. ChatGPT a résolu 19 problèmes, Codex en a résolu 21, CoCoNut en a résolu 19 et les méthodes APR standard en ont résolu sept. Les chercheurs ont trouvé que ses réponses étaient les plus similaires à Codex, ce qui n'était « pas surprenant, car ChatGPT et Codex appartiennent à la même famille de modèles de langage ».

Cependant, la possibilité de discuter avec ChatGPT après avoir reçu la réponse initiale a fait la différence, ce qui a finalement permis à ChatGPT de résoudre 31 questions et de surpasser facilement les autres, qui fournissaient des réponses plus statiques.


Et les chercheurs d'indiquer :

Un avantage puissant de ChatGPT est que nous pouvons interagir avec le système dans un dialogue pour spécifier une demande plus en détail[...]. Nous constatons que les performances de correction de bogues de ChatGPT sont compétitives par rapport aux approches communes d'apprentissage en profondeur CoCoNut et Codex et nettement meilleures que les résultats rapportés pour les approches de réparation de programme standard. Contrairement aux approches précédentes, ChatGPT offre un système de dialogue à travers lequel des informations supplémentaires, par exemple, la sortie attendue pour une certaine entrée ou un message d'erreur observé, peuvent être saisis. En fournissant de tels conseils à ChatGPT, son taux de réussite peut être encore augmenté, corrigeant 31 bogues sur 40, surpassant l'état de l'art.
Ils ont constaté que ChatGPT était capable de résoudre certains problèmes rapidement, tandis que d'autres faisaient plus d'allers-retours. « ChatGPT semble avoir une variance relativement élevée lors de la correction de bogues », indique l'étude. « Pour un utilisateur final, cependant, cela signifie qu'il peut être utile d'exécuter des demandes plusieurs fois ».

Par exemple, lorsque les chercheurs ont posé la question illustrée ci-dessous, ils s'attendaient à ce que ChatGPT recommande de remplacer n^=n-1 par n&=n-1, mais la première chose que ChatGPT a dite a été*: « Je ne peux pas dire si le programme a un bogue sans plus d'informations sur le comportement attendu ». Sur la troisième réponse de ChatGPT, après plus d'incitations des chercheurs, il a trouvé le problème : « La fonction ne marche pas. Pour l'entrée 1, il semble s'agir d'une boucle infinie ».


Cependant, lorsque d'autres ont saisi la même question dans ChatGPT, il a répondu différemment. Plutôt que d'avoir à lui dire quel est le comportement attendu, il a deviné ce que c'était. ChatGPT apprend toujours sur la base des contributions des utilisateurs, et il semble qu'il ait appris ce que ce morceau de code est censé faire, peut-être des chercheurs qui ont réalisé l'étude. L'échange que les observateurs extérieurs ont eu était différent de celui des chercheurs et sera probablement différent la prochaine fois également pour d'autres curieux qui voudraient s'y essayer....
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 onilink_
Membre émérite https://www.developpez.com
Le 30/01/2023 à 10:37
Citation Envoyé par marsupial Voir le message
Une actu sur YouTube rapporte qu'un hacker éthique a gagné un bug bounty de 43 000 dollars grâce à ChatGPT en lui soumettant du code de Facebook. A 65 000 bugs découverts en 2022 par des hackers éthiques, toute aide est la bienvenue. Mais comme les pirates peuvent s'en servir aussi, il s'agit d'un outil à double-tranchant. Je ne doute d'ailleurs pas que les outils d'IA vont s'améliorer avec le temps et relativement vite. Espérons des codes sans trop de failles dans un avenir proche car 35% des développeurs utilisent déjà ChatGPT dans le cadre de leur travail.
Petite nuance (j'ai aussi vu la vidéo): le hacker en question a trouvé cette faille il y a des années, et celui qui présente la faille dans la vidéo montre comment il aurait pu utiliser ChatGPT pour trouver cette brèche en travaillant sur le bout de code concerné.

Le titre était un peu trompeur.

Citation Envoyé par Erviewthink Voir le message
Comment lui faire confiance vu toute la merde qu'elle est capable de générer.
En vérifiant
L'avantage quand on cherche des failles ou des bugs, c'est que ça me parait plus simple que d'essayer de "fact checker" les pavés de conneries qu'elle sort quand on lui pose des questions plus traditionnelles.

Mais bon j'avoue que même après avoir vu cette vidéo qui explique que ChatGPT est capable de résumer des bouts de code javascript obfusqué, je reste assez sceptique.
Hasard? Cherry picking? Réelle "compréhension" du code?
1  0 
Avatar de
https://www.developpez.com
Le 30/01/2023 à 9:59
Une actu sur YouTube rapporte qu'un hacker éthique a gagné un bug bounty de 43 000 dollars grâce à ChatGPT en lui soumettant du code de Facebook. A 65 000 bugs découverts en 2022 par des hackers éthiques, toute aide est la bienvenue. Mais comme les pirates peuvent s'en servir aussi, il s'agit d'un outil à double-tranchant. Je ne doute d'ailleurs pas que les outils d'IA vont s'améliorer avec le temps et relativement vite. Espérons des codes sans trop de failles dans un avenir proche car 35% des développeurs utilisent déjà ChatGPT dans le cadre de leur travail.
0  0 
Avatar de
https://www.developpez.com
Le 30/01/2023 à 10:25
On parle de l'ia qui n'arrive pas à faire 10+10

https://twitter.com/isaaczara_/status/1615032566729277459?t=J06YBNjDCrij4IMWZnZOZQ&s=19

Comment lui faire confiance vu toute la merde qu'elle est capable de générer.
0  1