GitHub Copilot & Cie, créateurs de dette technologique ?

CodeWhisperer GitHub Copilot codebases internes

Une étude corrèle l’émergence de GitHub Copilot et consorts à une baisse de la qualité du code. Sur quelle foi ?

Le copier-coller pourrait-il bientôt représenter 20 à 25 % de l’activité sur les dépôts de code ? Un éditeur américain pose la question dans le prolongement d’une étude axée sur l’impact des « assistants IA ».

À l’usage croissant de ces derniers fait écho une « tendance à la baisse de la qualité du code », explique l’éditeur en question. Les éléments qui soutiennent cette affirmation sont essentiellement d’ordre quantitatif. Ils reflètent l’évolution, sur quatre ans (2020-2023), de la fréquence de certaines opérations.

Ces opérations sont au nombre de six :

– Ajout de code (hors modifications incrémentales et lignes restaurées après suppression)
– Suppression de code (hors lignes réinsérées sous moins de deux semaines)
– Déplacement de code (couper-coller dans un nouveau fichier ou dans une nouvelle fonction)
– Mise à jour de code (modification d’« environ trois mots ou moins » sur une ligne existante)
– Recherche et remplacement de code (on retire une même chaîne d’au moins trois emplacements, puis on la remplace partout par la même occurrence)
– Copier-coller de code (écriture de lignes identiques dans plusieurs fichiers ou fonctions, en un commit)

L’échantillon examiné comprend 153 millions de lignes de code. Il provient pour environ deux tiers, de données anonymes collectées auprès d’entreprises privées (on nous cite NextGen Health et Verizon). Le reste est issu de projets open source – principalement ceux de Google, Facebook et Microsoft.

GitHub Copilot encourage-t-il le copier-coller ?

Du point de vue de la maintenance, le constat est « déconcertant ». L’éditeur en veut notamment pour preuve le fait qu’entre 2020 et 2023, les taux d’opérations de type « ajout » et « copier-coller » ont plus progressé que les taux de mise à jour, de suppression et de déplacement. Il en déduit que l’implémentation actuelle des assistants IA n’encourage pas la réutilisation de code.

évolution des taux

L’analyse n’ayant englobé que la duplication au sein d’un même commit, il est probable que le taux global de copier-coller – hors mots-clés et commentaires – est plus élevé que celui mesuré (11 % entre 2022 et 2023). D’où l’hypothèse des 20-25 % pour 2024.

Le rapport d’analyse s’arrête sur un autre indicateur : le taux de lignes annulées ou mises à jour moins de deux semaines après leur ajout. On les considère ici comme des modifications soit incomplètes, soit erronées.
Ce taux a nettement progressé l’a dernier : +39,2 %. Une première tendance haussière apparaît en 2022, année du lancement de GitHub Copilot en bêta.

évolution annuelle

De là à dire que les devs ont tendance à opter pour les suggestions « faciles », il n’y a qu’un pas… que franchissent les auteurs de l’étude. Et de se demander à partir de quand les ajouts de code deviennent contre-productifs, partant du postulat que le nombre de lignes de code et la rapidité d’action des réviseurs sont inversement proportionnels…

À consulter en complément :

Copilot mais pas que : comment GitHub se nourrit des LLM
JetBrains AI : ce qu’il faut savoir
Les branches Git, un système contre-intuitif ?
IA générative : par les chiffres, GitHub s’affiche comme « the place to be »
DevSecOps : ces pratiques où la France se distingue

Illustration principale générée par IA