An in-depth study of the promises and perils of mining GitHub

by Kalliamvakou, Eirini and Gousios, Georgios and Blincoe, Kelly and Singer, Leif and German, DanielM. and Damian, Daniela

You can get a pre-print version from here.
You can view the publisher's page here.

Abstract

With over 10 million git repositories, GitHub is becoming one of the most important sources of software artifacts on the Internet. Researchers mine the information stored in GitHub’s event logs to understand how its users employ the site to collaborate on software, but so far there have been no studies describing the quality and properties of the available GitHub data. We document the results of an empirical study aimed at understanding the characteristics of the repositories and users in GitHub; we see how users take advantage of GitHub’s main features and how their activity is tracked on GitHub and related datasets to point out misalignment between the real and mined data. Our results indicate that while GitHub is a rich source of data on software development, mining GitHub for research purposes should take various potential perils into consideration. For example, we show that the majority of the projects are personal and inactive, and that almost 40% of all pull requests do not appear as merged even though they were. Also, approximately half of GitHub’s registered users do not have public activity, while the activity of GitHub users in repositories is not always easy to pinpoint. We use our identified perils to see if they can pose validity threats; we review selected papers from the MSR 2014 Mining Challenge and see if there are potential impacts to consider. We provide a set of recommendations for software engineering researchers on how to approach the data in GitHub.

Bibtex record

@article{KGBSGD16,
  year = {2016},
  issn = {1573-7616},
  journal = {Empirical Software Engineering},
  doi = {10.1007/s10664-015-9393-5},
  title = {An in-depth study of the promises and perils of mining {GitHub}},
  publisher = {Springer US},
  keywords = {Mining software repositories; git; GitHub; Code reviews},
  author = {Kalliamvakou, Eirini and Gousios, Georgios and Blincoe, Kelly and Singer, Leif and German, DanielM. and Damian, Daniela},
  pages = {2035--2071},
  volume = {21},
  number = {5},
  url = {/pub/promises-perils-github-extended.pdf}
}

The paper