Les codes sources sur GitHub : un air de déjà vu

Selon une étude, la plupart des fichiers de code source hébergés sur GitHub sont des clones de fichiers existants.

L’étude a été réalisée par des chercheurs des universités de Californie, de la République Tchèque et Northeastern, ainsi que de Microsoft Research. Son intitulé est évocateur, « Déjà vu : A Map of Codes Duplicates on GitHub ». Les spécialistes ont analysé 4,5 millions de projets sur GitHub, comprenant un total de 482 millions de fichiers différents. Seuls 85 millions de fichiers étaient des originaux, soit seulement 17,63% du total.

Dans leurs travaux, les chercheurs se sont focalisés sur les projets écrits en C++, Java, JavaScript et Python. Sur les 4, les solutions JavaScript affichent un taux de 94% de code réutilisé d’autres fichiers hébergés sur GitHub. Les projets en C++ arrivent en second avec un taux de 73%. 71% des programmes en Python réutilise du code et Java reste modeste avec seulement 40% de recyclage. Dans leur étude, les experts se sont basés sur une correspondance à 100% du code réutilisé, mais une analyse sur un recyclage partiel donne quasiment les mêmes résultats.

Les projets JavaScript faussés par NPM

Pour JavaScript, le fort taux de réutilisation du code est à mettre à l’actif de NPM. Le gestionnaire de paquet officiel de Node.js est le plus important au monde avec plus de 350 000 librairies, soit plus du double que le référentiel Maven. Comme les développeurs se tournent plus facilement vers NPM pour trouver des librairies utiles, ils les importent dans leur projet. D’où l’inflation de code réutilisé en JavaScript.

« Le système de contrôle des sources sur lequel est construit GitHub, Git, encourage le forking des projets », soulignent les chercheurs. Et d’ajouter, « cependant, il y a beaucoup de duplication de code au sein de GitHub sans passer par ce contrôle et permet le copier-coller des fichiers et même des librairies entières ». Cette étude a selon ses auteurs plusieurs conséquences, « pour GitHub, il peut réduire son corpus de code à celui qui est réellement original et unique. Pour les autres études, la prise en compte de la réutilisation de code relativise la diversité des projets et peut fournir des pistes pour éviter ce recyclage ».

Crédit Photo : Photo by Riebart on Visual hunt /  CC BY

 

Auteur : Jacques Cheminat

Journaliste pendant 15 ans sur les thématiques, télécoms, réseaux, datacenter, stockage, sécurité, virtualisation, etc..., j'ai choisi d'ouvrir ce blog pour écrire sur tous les sujets IT, les tendances et mes humeurs.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion /  Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s