Une nouvelle étude publiée par la société d'analyse GitClear rapporte que l'utilisation des assistants d'IA pour la programmation ne contribue pas toujours à la qualité du code produit. Les chercheurs de GitClear ont constaté que les outils d'IA comme GitHub Copilot ne donnent en fait que des suggestions pour ajouter du code. Aucune suggestion n'est faite pour la mise à jour ou la suppression de code. Il en résulte notamment une quantité importante de code redondant. Ils ont également constaté une forte augmentation du "code churn". Cela signifie que le code est fréquemment modifié, ce qui est généralement un mauvais signe pour la qualité.Les outils d'IA de codage connaissent une popularité croissante. La version bêta de GitHub Copilot, qui a donné le coup d'envoi pour cette nouvelle classe de logiciels, a été introduite en juin 2021 et selon le PDG Thomas Dohmke, l'outil compte plus d'un million de développeurs ayant souscrit un abonnement payant. Dohmke a aussi publié des statistiques selon lesquelles GitHub Copilot permet aux développeurs d'accomplir leurs tâches 55 % plus rapidement. Selon lui, 46 % du code a été complété par GitHub Copilot dans les fichiers où il a été activé. Mais quel est l'impact de l'utilisation de ces outils sur la qualité du code ?
Eh bien, selon une nouvelle étude de GitClear, la qualité du code n'est pas bonne, avec des problèmes tels que le renouvellement du code - du code ajouté, mais supprimé peu après - et une plus grande proportion de code répété. L'étude porte sur le code ajouté, mis à jour, supprimé, copié ou déplacé, et exclut ce que GitClear définit comme du "bruit". Cela fait référence au même code engagé dans plusieurs branches, des lignes vierges et d'autres lignes non significatives. Voici ci-après la conclusion des analystes de GitClear :
En outre, une étude publiée en octobre dernier a rapporté que GitHub Copilot génère du code comportant des faiblesses de sécurité. « Nos résultats confirment que les développeurs doivent être prudents lorsqu'ils ajoutent du code généré par Copilot (et des outils d'IA similaires de génération de code) et doivent également effectuer des contrôles de sécurité appropriés lorsqu'ils acceptent le code suggéré. Cela montre également que les praticiens doivent développer une conscience et des compétences en matière de sécurité correspondantes », ont écrit les chercheurs à l'origine de l'étude.
Dans le cadre de son étude, GitClear a mis l'accent sur la qualité du code plutôt que sur la quantité, et observe que les assistants d'IA ont tendance à donner "des suggestions pour ajouter du code, mais jamais de suggestions pour mettre à jour, déplacer ou supprimer du code". Les chercheurs proposent également que les algorithmes de suggestion de code soient incités à proposer les suggestions les plus susceptibles d'être acceptées, ce qui semble raisonnable jusqu'à ce que l'on considère l'importance d'un code concis et lisible. Selon le rapport de l'étude, il n'est pas facile de mesurer la qualité du code.
Les chercheurs identifient toutefois certaines tendances qui montrent que la quantité de code ajoutée, supprimée, mise à jour et copiée/collée n'a jamais été aussi élevée, mais que les cas de déplacement de code ont diminué. Ils constatent également une augmentation du taux de renouvellement, qui atteint aujourd'hui 7,1 %, contre seulement 3,3 % en 2020. Le code est déplacé lorsque les développeurs le restructurent, ce qui pourrait être un indicateur de refactorisation, qui consiste à améliorer la conception et la structure du code sans en modifier le comportement. Cette tendance inquiète les chercheurs.
Les raisons de ces tendances sont sujettes à spéculation, mais les chercheurs pensent qu'elles sont liées à l'utilisation croissante des assistants d'IA de programmation. Ils sont cinglants quant à l'impact de l'augmentation du code copier-coller, affirmant qu'il n'y a pas "de pire fléau pour la maintenabilité à long terme du code". Le copier-coller excessif n'est pas un problème nouveau. Les développeurs peuvent le faire parce que cela leur semble plus rapide et plus facile que de chercher à réutiliser le code existant, ou simplement parce que plusieurs développeurs travaillant sur un projet ne communiquent pas bien.
De nombreux analystes et critiques semblent partager l'avis du fondateur de GitClear selon lequel la dette technique des entreprises pourrait fortement augmenter à l'avenir. « L'IA est comme une toute nouvelle carte de crédit qui va nous permettre d'accumuler de la dette technique comme nous n'avons jamais pu le faire auparavant », a déclaré Armando Solar-Lezama, professeur au MIT, au Wall Street Journal dans un article paru l'année dernière sur les outils de codage de l'IA. D'un autre côté, l'essor de la programmation assistée par l'IA pourrait également avoir une incidence sur la rémunération des ingénieurs.
« Si les responsables de l'ingénierie prennent des décisions salariales basées...
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.

Pensez-vous que "Copilot Vision" est crédible ou pertinente ?