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

0PARTAGES

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.

Une intégration de fonctionnalité dans les outils Microsoft ?

GitHub Copilot

Fin juin 2022, Copilot était proposé dans le cadre d'une Preview technique sur invitation uniquement, promettant de faire gagner du temps en répondant au code des utilisateurs par ses propres suggestions intelligentes. Ces suggestions sont basées sur des milliards de lignes de code public dont les utilisateurs ont publiquement contribué à GitHub, en utilisant un système d'IA appelé Codex de la société de recherche OpenAI.

GitHub décrit Copilot comme l'équivalent IA de la « programmation en paire », dans laquelle deux développeurs travaillent ensemble sur un seul ordinateur. L'idée est qu'un développeur peut apporter de nouvelles idées ou repérer des problèmes que l'autre développeur aurait pu manquer, même si cela nécessite plus d'heures de travail.

Dans la pratique, cependant, Copilot est plutôt un outil utilitaire de gain de temps, qui intègre les ressources que les développeurs devraient autrement chercher ailleurs. Lorsque les utilisateurs saisissent des données dans Copilot, l'outil leur suggère des extraits de code à ajouter en cliquant sur un bouton. Ainsi, ils n'ont pas à passer du temps à chercher dans la documentation de l'API ou à rechercher des exemples de code sur des sites spécialisés.

Un réseau neuronal dans GitHub Copilot est entraîné à l'aide de volumes massifs de données, constituées du code : des millions de lignes téléchargées par les 65 millions d'utilisateurs de GitHub, la plus grande plateforme au monde permettant aux développeurs de collaborer et de partager leur travail. Le but est que Copilot en apprenne suffisamment sur les modèles de code pour pouvoir faire du hacking lui-même. Il peut prendre le code incomplet d'un partenaire humain et terminer le travail en ajout les parties manquantes. Dans la plupart des cas, il semble réussir à le faire. GitHub prévoit de vendre l'accès à l'outil aux développeurs.

Comme pour la plupart des outils d'IA, GitHub souhaite également que Copilot devienne plus intelligent au fil du temps en fonction des données qu'il collecte auprès des utilisateurs. Lorsque les utilisateurs acceptent ou rejettent les suggestions de Copilot, son modèle d'apprentissage automatique utilisera ce retour d'information pour améliorer les suggestions futures, de sorte que l'outil deviendra peut-être plus humain à mesure qu'il apprendra.

Si l'approche de ChatGPT n'est pas la même, étant donné qu'il ne s'agit pas d'un outil spécialement conçu pour assister les développeurs, le chatbot pourrait néanmoins contribuer durant les phases de développement en indiquant aux développeurs où se trouvent leurs potentielles erreurs. Mais il s'agit d'une épée à double tranchant dans la mesure où si l'outil « apprend » de leur code, il se servira de ces connaissances pour aider d'autres personnes, exposant potentiellement des informations confidentielles comme cela a déjà été le cas avec Amazon.

Microsoft va intégrer ChatGPT dans Azure

Microsoft rendra bientôt la technologie de chat d'IA générative disponible dans le cadre de son service Azure OpenAI. Ce service est destiné aux entreprises et aux développeurs qui utilisent la plateforme Azure de Microsoft pour intégrer les technologies OpenAI dans leurs applications. Il fait partie d'un partenariat plus large entre Microsoft et OpenAI qui a débuté par un investissement d'un milliard de dollars de Microsoft dans le laboratoire d'IA basé à San Francisco en 2019.

Cela montre comment Microsoft se positionne effectivement comme le bras commercial d'OpenAI, une initiative qui pourrait lui donner un avantage sur les plateformes concurrentes Amazon Web Services (AWS) et Google Cloud Platform (GCP). Le service Azure OpenAI a été lancé en avant-première au printemps dernier, avant que ChatGPT ne soit largement disponible. Cependant, ChatGPT est disponible en tant que version bêta publique et il a été parfois difficile pour certains utilisateurs d'y accéder, en partie à cause de la forte demande suscitée par l'intérêt. Azure OpenAI étend désormais la disponibilité de ChatGPT à toutes les entreprises.

« Avec le service Azure OpenAI désormais disponible de manière générale, davantage d'entreprises peuvent demander à accéder aux modèles d'IA les plus avancés au monde », explique Microsoft. S'exprimant lors d'un panel du Wall Street Journal (WSJ) au Forum économique mondial (FEM) de Davos, en Suisse, la semaine dernière, le PDG de Microsoft, Satya Nadella, a déclaré que l'entreprise prévoyait bientôt de commercialiser largement des outils d'IA dans l'ensemble de ses produits. « Chaque produit de Microsoft aura certaines des mêmes capacités d'IA pour transformer complètement le produit », a déclaré Nadella, selon un compte rendu du WSJ.

Nadella a poursuivi en disant que les travailleurs devraient embrasser les nouveaux outils d'IA au lieu de les craindre. « La meilleure façon de s'y préparer est de ne pas parier contre cette technologie, et cette technologie vous aidant dans votre travail et votre processus commercial », a déclaré Nadella. En outre, le PDG de Microsoft a également prédit que la génération actuelle d'IA entraînera un changement majeur dans l'industrie. Lors de la table ronde organisée par le WSJ la semaine dernière, il a déclaré que les outils d'IA augmenteront la productivité humaine, ce qui favorisera la croissance économique et les salaires des employés.

« Nous avons besoin de quelque chose qui modifie réellement la courbe de la productivité afin d'avoir une véritable croissance économique », a-t-il déclaré. Mais alors que Microsoft travaille sur l'intégration de nouveaux systèmes d'IA dans ses produits et ses services, les récents licenciements généralisés au sein de l'entreprise ont affecté les équipes travaillant à l'intégration de ChatGPT. Selon certaines sources, une première vague d'environ 1 000 licenciements au sein de l'entreprise la semaine dernière comprenait des membres de l'équipe interne chargée d'intégrer la technologie ChatGPT dans le moteur de recherche Bing.

Source : Une analyse des performances de correction automatique des bogues de ChatGPT

Et vous ?

Que pensez-vous des résultats obtenus par chatGPT ?
S'il s'améliorait encore, seriez-vous tenté de l'utiliser pour identifier les erreurs éventuelles dans votre code ? Dans quelle mesure ?

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 marsupial
Expert éminent 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