Deja-vu: A Map of Code Duplicates on GitHub
Identifikátory výsledku
Kód výsledku v IS VaVaI
<a href="https://www.isvavai.cz/riv?ss=detail&h=RIV%2F68407700%3A21240%2F17%3A00313100" target="_blank" >RIV/68407700:21240/17:00313100 - isvavai.cz</a>
Výsledek na webu
—
DOI - Digital Object Identifier
—
Alternativní jazyky
Jazyk výsledku
angličtina
Název v původním jazyce
Deja-vu: A Map of Code Duplicates on GitHub
Popis výsledku v původním jazyce
Previous studies have shown that there is a non-trivial amount of duplication in source code. This paper analyzes a corpus of 2.6 million non-fork projects hosted on GitHub representing over 258 million files written in Java, C++ Python and JavaScript. We found that this corpus has a mere 54 million unique files. In other words, 79% of the code on GitHub consists of clones of previously created files. There is considerable variation between language ecosystems. JavaScript has the highest rate of file duplication, only 7% of the files are distinct. Java, on the other hand, has the least duplication, 65% of files are distinct. Focusing on files that have some differences, we found between 31% and 43% of files with strong similarities. Lastly, we made a project-level analysis, and found that between 10% and 20% of the projects contain at least 80% of files that can be found elsewhere. These surprisingly high rates of duplication have implications for systems built on open source software as well as for researchers interested in analyzing large code bases. As a concrete artifact of this study, we have created DéjàVu, a publicly available map of code duplicates in GitHub repositories.
Název v anglickém jazyce
Deja-vu: A Map of Code Duplicates on GitHub
Popis výsledku anglicky
Previous studies have shown that there is a non-trivial amount of duplication in source code. This paper analyzes a corpus of 2.6 million non-fork projects hosted on GitHub representing over 258 million files written in Java, C++ Python and JavaScript. We found that this corpus has a mere 54 million unique files. In other words, 79% of the code on GitHub consists of clones of previously created files. There is considerable variation between language ecosystems. JavaScript has the highest rate of file duplication, only 7% of the files are distinct. Java, on the other hand, has the least duplication, 65% of files are distinct. Focusing on files that have some differences, we found between 31% and 43% of files with strong similarities. Lastly, we made a project-level analysis, and found that between 10% and 20% of the projects contain at least 80% of files that can be found elsewhere. These surprisingly high rates of duplication have implications for systems built on open source software as well as for researchers interested in analyzing large code bases. As a concrete artifact of this study, we have created DéjàVu, a publicly available map of code duplicates in GitHub repositories.
Klasifikace
Druh
O - Ostatní výsledky
CEP obor
—
OECD FORD obor
10201 - Computer sciences, information science, bioinformathics (hardware development to be 2.2, social aspect to be 5.8)
Návaznosti výsledku
Projekt
—
Návaznosti
R - Projekt Ramcoveho programu EK
Ostatní
Rok uplatnění
2017
Kód důvěrnosti údajů
S - Úplné a pravdivé údaje o projektu nepodléhají ochraně podle zvláštních právních předpisů