Write a Blog >>
SPLASH 2017
Sun 22 - Fri 27 October 2017 Vancouver, Canada
Thu 26 Oct 2017 13:52 - 14:15 at Regency A - Mining Software Repositories and Parsing Chair(s): Wolfgang De Meuter

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.

Thu 26 Oct

Displayed time zone: Tijuana, Baja California change

13:30 - 15:00
Mining Software Repositories and ParsingOOPSLA at Regency A
Chair(s): Wolfgang De Meuter Vrije Universiteit Brussel
13:30
22m
Talk
Exploiting Implicit Beliefs to Resolve Sparse Usage Problem in Usage-Based Specification Mining
OOPSLA
Samantha Syeda Khairunnesa Iowa State University, Hoan Anh Nguyen Iowa State University, USA, Tien N. Nguyen University of Texas at Dallas, Hridesh Rajan Iowa State University
DOI
13:52
22m
Talk
DéjàVu: A Map of Code Duplicates on GitHub
OOPSLA
Crista Lopes University of California, Irvine, Petr Maj ReactorLabs, Pedro Martins University of California at Irvine, USA, Vaibhav Saini University of California at Irvine, USA, Di Yang University of California at Irvine, USA, Jakub Zitny Czech Technical University, Czechia, Hitesh Sajnani Microsoft , Jan Vitek Northeastern University, USA
DOI
14:15
22m
Talk
Understanding the Use of Lambda Expressions in Java
OOPSLA
Davood Mazinanian Concordia University, Canada, Ameya Ketkar Oregon State University, USA, Nikolaos Tsantalis Concordia University, Canada, Danny Dig School of EECS at Oregon State University
DOI
14:37
22m
Talk
Restricting Grammars with Tree Automata
OOPSLA
Michael D. Adams University of Utah, USA, Matthew Might University of Utah, USA
DOI