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 !

Les outils de développement GenAI n'améliorent pas l'efficacité du codage et augmentent le nombre de bogues : avec Microsoft Copilot les développeurs ont constaté une augmentation de 41 % des bogues

Le , par Jade Emy

44PARTAGES

6  0 
Un rapport d'Uplevel suggère que les outils de développement d'IA générative n'améliorent pas l'efficacité du codage et peuvent même augmenter le nombre de bogues. Le rapport révèle que les développeurs ont constaté une augmentation de 41 % des bogues après la mise en œuvre de Microsoft Copilot.

Un rapport révèle un décalage entre les dirigeants qui sont pressés à adopter les outils de codage IA et les développeurs qui sont plus prudents à l'égard de l'IA. Le rapport montre que les directeurs techniques et les RSSI sont cinq fois plus nombreux que les développeurs à penser que les outils de codage IA ne présentent aucun risque et deux fois plus nombreux que les développeurs à penser qu'ils sont "extrêmement prêts" à adopter des outils de codage IA.

Dans l'ensemble, le rapport constate que la sécurité du code généré par l'IA n'est pas une préoccupation majeure pour la majorité des organisations interrogées. Près des deux tiers (63,3 %) des personnes interrogées considèrent que la sécurité est excellente ou bonne, et seulement 5,9 % la considèrent comme mauvaise.

Un nouveau rapport d'Uplevel suggère que les outils de développement actuels basés sur la GenAI n'ont pas tendance à améliorer l'efficacité du codage et peuvent même augmenter le taux de bogues. Après la mise en œuvre de Microsoft Copilot, les développeurs ont constaté une augmentation de 41 % des bogues.


Alors que l'IA est souvent présentée comme la solution à toutes sortes de tâches, il semble qu'elle n'améliore pas toujours les choses lorsqu'il s'agit de développer des logiciels. L'étude, menée par Uplevel Data Labs, la branche d'Uplevel spécialisée dans la science des données, a porté sur un échantillon de 800 développeurs de logiciels appartenant à de grandes équipes d'ingénieurs et dont les organisations avaient adopté GitHub Copilot de Microsoft, un assistant de codage et un outil de développement basé sur la GenAI.

L'étude révèle que les développeurs utilisant Copilot n'ont pas constaté d'augmentation de la vitesse de codage. En termes de temps de cycle des demandes d'extraction (PR) (le temps nécessaire pour fusionner le code dans un dépôt) et de débit des PR (le nombre de demandes d'extraction fusionnées), Copilot n'a ni aidé ni nui aux développeurs.

Après la mise en œuvre de Copilot, les développeurs ont constaté une augmentation de 41 % des bogues dans les demandes d'extraction, ce qui suggère que l'outil peut avoir un impact sur la qualité du code. L'étude suggère également que l'utilisation de Copilot n'a qu'un effet limité sur le temps que les développeurs consacrent au travail en dehors des heures de travail. Ce temps a diminué de 17 % pour ceux qui ont accès à Copilot, mais surtout de 28 % pour un groupe de contrôle composé de ceux qui n'y ont pas accès.

Joe Levy, PDG d'Uplevel déclare : "Les équipes d'ingénieurs d'aujourd'hui cherchent à allouer leur temps au travail de plus grande valeur, à réaliser ce travail aussi efficacement que possible, et à le faire sans s'épuiser. Elles s'appuient sur les données pour prendre des décisions, et pour l'instant, les données ne montrent pas de gains appréciables dans ces domaines spécifiques grâce à l'IA générative."

Il ajoute : "Mais l'innovation évolue rapidement, et nous ne suggérons pas aux développeurs d'ignorer les outils basés sur l'IA générative tels que Copilot, Gemini ou CodeWhisperer. Ces outils sont tous nouveaux, il y a une courbe d'apprentissage et la plupart des équipes doivent encore trouver les cas d'utilisation les plus efficaces pour améliorer la productivité. Nous continuerons à observer ces informations au fur et à mesure que l'adoption de la GenAI continuera à croître, et nous recommandons à tous ceux qui investissent dans des outils GenAI de faire de même."


À propos d'Uplevel

Uplevel fournit un système de décision dont les leaders de l'ingénierie ont besoin pour prendre les bonnes décisions. En interprétant et en corrélant les données provenant de la gestion du travail, du code, de CI/CD, du calendrier, du chat et des outils de réponse aux incidents, Uplevel vous aide à aligner les investissements sur les résultats afin que vous puissiez fournir les bonnes choses de la bonne manière.

Source : "Can GenAI Actually Improve Developer Productivity?" (Uplevel)

Et vous ?

Pensez-vous que ce rapport est crédible ou pertinent ?
Quel est votre avis sur le sujet ?

Voir aussi :

Génération de code à l'aide de grands modèles de langage : 62 % du code généré contient des erreurs d'API qui auraient des conséquences inattendues si le code était introduit dans un logiciel réel

Les défis croissants du code généré par l'IA : le code généré par l'IA pourrait augmenter la charge de travail des développeurs et accroître les risques, selon Harness

Les développeurs utilisent l'IA pour déboguer leur code, des rapports de tests, et même créer des applications, mais ils sont confrontés a des biais et des erreurs, d'après Applause

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

Avatar de Pierre Louis Chevalier
Expert éminent sénior https://www.developpez.com
Le 30/09/2024 à 15:56
Le fait de pouvoir lire sur developpez.com des études qui disent le contraire c'est un plus, contrairement aux médias d'opinion qui ne vont s'appesantir que sur un seul coté de l'histoire.
Encore plus utile que les études, c'est de pouvoir lire ici sur le forum du club les témoignages des vrais professionnels, c'est bien plus intéressant que de lire des articles moisis publiés dans les médias génériques écris n'importe comment par des journalistes qui n'y connaissent rien.

A titre personnel, je suis témoin du fait qu'en entreprise le code généré par l'IA est une plaie, c'est bourré de failles, mal écrit, et c'est suffisamment illisible pour être presque impossible à corriger et à faire évoluer, c'est donc un désastre.

Donc après le junior imposteur qui copie du code merdique trouvé sur stackoverflow, voila le baltringue qui colle en entreprises du code donné par chatgpt, qui lui même à pompé un code merdique trouvé sur stackoverflow, quel progrès !
Après l'IA peut être utile dans certains cas, comme par exemple aider à trouver des bugs, mais ensuite c'est au développeur de corriger et de fournir un code fiable, bien écris et lisible.

Du coup les entreprises ne veulent plus embaucher de juniors biberonnés à l'IA, ils préfèrent garder leur vieux développeurs qui codent encore à la main à l'ancienne, avec un cerveau et un clavier
11  0 
Avatar de OuftiBoy
Membre éprouvé https://www.developpez.com
Le 30/09/2024 à 15:26
et bonjour à tous.

Depuis que l'IA est sur toutes les lèvres, on a droit à un article qui nous dit que c'est la panacée, suivit d'un article disant excatement le contraire.

Soit, il faut bien nourrir le site, ce qui succite le débat. Mais devant toute cette frénésie autours de l'IA, ne serait-il pas temps de faire une pause et de débattre du fond des problèmes ou des avantages de ce que propose l'IA, et plus particulièrement de l'IAG ?

L'IA est utilisée dans plusieurs domaines, qui ont des "spécificités" qui lui sont propre. Je vais prendre 4 domaines.

  • Dans l'imagerie médicale, l'IA peut comparer des milliers de radiographies pour assister un docteur spécialisé dans ce domaine, et l'aider a voir ce qu'il n'aurait pas vu, et permettre de poser un diagnostique plus affiné, permettant d'en déduire le meilleur traitement a effectuer par la suite. C'est une bonne chose, tant pour le patient, le docteur et le budget nécessaire. Cette IA peut faire un travail correct, car les radio qu'on lui a soumise on été préalablement "validée" et lui sont fournies avec le diagnostique donné suite à cette radio. Il y a donc une certaine "fiabilité" des données en entrée. Et dans ce domaine qui se nomme "imagerie médical", cela existait déjà bien avant la frénésie autours de l'IA.
  • Dans la production de texte, le principe de l'IAG, est de fournir/déduire, mot après mot, et en se basant sur la suite des mots précédents, le mot suivant du texte en question. Là aussi il y a un "domaine" et une expertise qui est nécessaire. Si le texte qu'on veut générer est de l'ordre d'un roman de science-fiction, les entrées donnée à l'IA devrait, éviter de se baser sur des recettes de cuisine française, chinoise ou arabe. Ici aussi, l'importance de sur quoi a été fournie l'IA est primordiale. Mais c'est déjà plus vaste et donc plus difficile a contrôler. Le danger étant de 2 natures. Soit les données en entrée sont bien filtrées, et ce qui en ressortira manquera fortement d'imagination, soit, si elles mal filtrées, des absurdités (ou Hallucination) seront fortement présente en sortie. Il n'y a donc pas vraiment d'intérêt à l'utilisation d'une IA.
  • Pour un documentaire sur un sujet précis, l'IA qui aide a produire ce documentaire, ne devrait être alimentée que par données précises est validées existante sur le sujet du documentaire. Ici aussi, une recette de choucroute alsacienne ne peut pas apporter à l'IA de quoi sortir un texte pertinent sur le sujet/domaine d'un documentaire. Comme dans le point précédent, l'IA produira un documentaire ressemblant très fortement à d'autres, où sera plus ou moins "farfelu". Quelle est l'avantage de l'IA ?
  • De la cas d'une aide au "codage", l'IA ne devrait également qu'être alimentée par des codes sources validés, exempts de bug, et ne portant que sur le problème que le code doit résoudre. Ce qui est humainement impossible. On utilise des techniques très différente pour construire un site Web ou un compilateur.


Il me semble dont, que pour qu'une IAG soit fiable, qu'il lui faut un entrainement de qualité, et qu'à de rares execptions près, cette "qualité" est difficilement réalisable, pour ne pas dire humainement impossible. C'est certainement la cause des fameuses Hallucinations, car une IAG qui a pour entrée tout ce qui est disponible sur internet, n'est pas capable de connaitre le vrai du faux des informations collectées.

Dans notre domaine, le développement, l'aide d'une IAG pour aider au développement d'un site web, ou du guidage précis d'un missile, semble donc une mauvaise bonne idée. Le code générer par une IAG doit donc être scupuleusement inspecté, ce qui demande certainement autant de temps qu'une solution, écrite à la main par un humain ayant concience de la nature complète du problème a réssoudre.

Dans le développement, comme dans d'autres domaines, avoir une connaissance "métier" du domaine spécifique dans lequel on travail est donc également très importante. Ce "domaine/métier" semble difficile a spécifier pour une IAG. Il est déjà assez difficile pour un humain de comprendre la demande d'un client, d'en faire une spécification, puis de générer du code pour cette spécification. Cela demande souvant des aller-retour entre ce que veut le client, la maise à jour de la spécification, et donc de comment implémenter cette spécification.

Si l'IA peut aider, dans le domaine du développement, ce ne peut-être fait relativement sereinement, que sur des petits bouts de code que le développeur doit ensuite intégré dans son propre code. Si l'architecture du code a été founie par l'IA, il faut à ce dévoloppeur comprendre cette dernière pour pouvoir y insérer du code générer par l'IAG.

Dans la balance productivité/qualité, le rôle d'un bon développeur est donc primordiale. Il est facile d'en déduire qu'au fur et à mesure que disparaîtront ces développeurs compétants, la qualité ne pourra que se dégrader.

D'une manière générale, l'IA nous fait entrer petit à petit dans un cercle vicieux, où l'IA sera de plus en plus présente, et les moyens de contrôler son travail de moins en moins présents.

Ceci tout simplement parce que ce qui fait la "nature" même d'un bon développeur, c'est sa créativité, sa profondeur d'analyse, sa réfexion, sa compétence, son expérience. Et je connais peu de développeurs qui seraient attirés par faire une maintenance permanente d'un code générer par une IA.

Un développeur aime créer, ce qui lui sera enlever par l'IA. Tout comme d'en d'autres domaines, la créativité s'éteindra petit à petit, jusqu'à un point de non retour. Il me semble donc urgent d'attendre avant qu'il ne soit trop tard.

BàV et Peace & Love.
7  0 
Avatar de PhilippeGibault
Membre éprouvé https://www.developpez.com
Le 01/10/2024 à 14:12
Notre métier n'est pas de faire du code qui marche, mais de faire du code qui dure.

Et la nuance est là.

Un code qui dure est un code qui répond au besoin fonctionnel, mais qui est durable dans le temps.

Mais un code qui marche n'est pas forcement durable dans le temps.

Je considère que notre métier consiste aussi à laisser la meilleure architecture de code pour qu'elle soit la plus durable possible.

Surtout que la dette technique a un coût:
https://www.premaccess.com/qu-est-ce...-la-maitriser/

C'est la différence entre un bon développeur qui va challenger son code pour le faire tenir sur la durée, et un mauvais développeur qui va juste faire le minimum et faire un machin-chose qui marche, ne faisant même pas de TU des fois.

La dernière catégorie est appelé le "Monkey Codeur".

De mon point de vue, je pense que l'IA va remplacer le Monkey Codeur. Et vu les enjeux économiques que représente la dette technique.
Vu les pertes économiques mais aussi sociales que représente la dette technique, je ne pleure pas la disparition du Monkey Codeur.

Par contre, je ne m'en fait pas pour le codeur qui essaye de challenger son code pour le faire durer.
Car là, il faut une intelligence humaine.

Et là, je ne pense pas que l'IA peut remplacer.
6  0 
Avatar de Aiekick
Membre extrêmement actif https://www.developpez.com
Le 19/09/2024 à 22:50
en gros il n'y a que les non dev qui pensent que l'IA est sure. je suis pas surprit
4  0 
Avatar de axel1818
Membre à l'essai https://www.developpez.com
Le 01/10/2024 à 8:18
je l utilise dans le codage, uniquement lorsque je n y connais rien sur le sujet de ce que je veux écrire. Évidemment, les tests et verifications qui sont exhaustifs durent très longtemps. Tant que les ia ne sont pas capables de s auto vérifier, car ils ne sont que des copieurs colleurs, donc je n ai aucune confiance dans leurs resultats
2  0 
Avatar de chris_FR
Membre régulier https://www.developpez.com
Le 21/09/2024 à 11:32
Ah les commerciaux et le marketing

Croire que l'IA est magique et permet à tout le monde de devenir un Super Développeur sans aucune formation ni expérience ... on y est pas encore

sauf si grâce à l'IA les "devs" font encore plus de conneries et encore plus de bugs ... si ils ne sont pas dégoûtés ils peuvent apprendre plus vite
1  0 
Avatar de DrHelmut
Membre actif https://www.developpez.com
Le 01/10/2024 à 14:15
Comme tout nouvel outil, il faut apprendre à s'en servir. Copilot ne fait pas de miracle, il ne comprend rien à ce qu'il propose, il faut juste des rapprochements sémantiques et statistique.

Si tu ne sais pas coder, que toi même tu ne comprends pas ce qu'il te pond et que tu valides, à qui revient la faute au final ?

À côté de ça, l'outil étant capable de s'inspirer de ce que tu écris, des onglets ouverts, etc, bien utilisé, c'est un gain de temps de taré sur certaines tâches. Un très bon exemple, c'est quand tu reprends du code legacy avec d'énormes manques en terme de tests unitaires en vu d'un refactoring. Tu écris les premiers tout seul, et rapidement, le copilot est capable de proposer en grande part le code des tests à venir. Jamais parfait bien sûr, et c'est normal, et ça ne le sera jamais car, et on ne le répétera jamais assez : il n' y a pas d'intelligence dans ce qu'on appelle IA d'aujourd'hui
1  0 
Avatar de JP CASSOU
Membre confirmé https://www.developpez.com
Le 02/10/2024 à 10:41
Le code généré par l'IA ne fonctionne pas dans la plupart du temps
(exemple: Gradient conjugué multithreadé en Pascal)
1  0 
Avatar de JackIsJack
Membre éclairé https://www.developpez.com
Le 22/09/2024 à 6:12
J'utilise ChatGPT 4 pour le développement de temps en temps, de la même manière que je consulte Google/Stackoverflow...

Un oeil critique est évidemment nécessaire : tout peut être faux. L'avantage si ça fonctionne c'est qu'il s'adapte parfaitement au contexte : nom des variables, la logique souhaitée. C'est utile aussi lorsqu'on est bloqué sur une problème qui est difficile à exprimer sur Google par mots-clefs : un contexte riche en contraintes, ou alors un comportement complètement inattendu... Dans ce cas-là, les neurones de la petite bête peuvent fournir une piste, l'erreur commise ou une façon différente de voir les choses.

Je n'imagine pas un non-sachant pouvoir tirer quoi que ce soit de ces outils. Le risque d'hallucination est élévé, mais je n'ai pas testé Copilot ni encore ChatGPT o1.

Réjouissons-nous de ces outils malgré tout. Aujourd'hui il n'y a aucune solution pour faire évoluer des gros tas de code que personne ne comprend plus (sauf tout refaire...). Certains systèmes sont littéralement incompréhensible dans leur globalité, et nous transforment, nous humains, en robots pour des refactorisations ou des refontes. J'espère que ces outils serviront un jour à nous épargner ces tâches techniques sans vraie valeur ajoutée pour l'utilisateur.
0  0 
Avatar de jnspunk
Membre habitué https://www.developpez.com
Le 22/09/2024 à 6:57
GitHub Copilot, que j'utilise (à ne pas confondre avec le Copilot de Bing), m'aide énormément à gagner du temps, notamment pour rédiger des commentaires. Il est aussi très utile lorsque j'ai besoin d'écrire du code dans un langage dont j'ai oublié la syntaxe. Pour la rédaction d'aides, il s'avère également très pratique.

Cela dit, ce ne sont que des exemples. Je ne demande jamais à l'IA d'écrire des blocs de code complets pour moi. Je la considère plutôt comme une extension de mon esprit, ce qui me permet d'être bien plus efficace, au point de difficilement m'en passer.
0  0