Continuously mining distributed version control systems: an empirical study of how Linux uses Git

被引:22
作者
German, Daniel M. [1 ]
Adams, Bram [2 ]
Hassan, Ahmed E. [3 ]
机构
[1] Univ Victoria, Victoria, BC, Canada
[2] Polytech Montreal, Montreal, PQ, Canada
[3] Queens Univ, Kingston, ON, Canada
关键词
Mining software repositories; Distributed version control; Rebasing; Empirical software engineering; Measuring bias; Linux; Open source development;
D O I
10.1007/s10664-014-9356-2
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Distributed version control systems (D-VCSs - such as git and mercurial) and their hosting services (such as Github and Bitbucket) have revolutionalized the way in which developers collaborate by allowing them to freely exchange and integrate code changes in a peer-to-peer fashion. However, this flexibility comes at a price: code changes are hard to track because of the proliferation of code repositories and because developers modify ("rebase") and filter ("cherry-pick") the history of these changes to streamline their integration into the repositories of other developers. As a consequence, researchers and practitioners, who typically only consider the (cleaned up) history in the official project repository, are unaware of important elements and activities in the collaborative software development process. In this paper, we present a method that continuously mines all known D-VCSs of a software project to uncover the complete development history of a project. We use this method to (1) show the divergence between the code development history in the official Linux kernel repository and the complete kernel development history, and (2) to investigate the characteristics of the ecosystem of git repositories of the Linux kernel. Finally, we discuss how continuous mining could be adopted by current D-VCS hosting services.
引用
收藏
页码:260 / 299
页数:40
相关论文
共 35 条
[31]  
Robbes R, 2007, INT C PROGRAM COMPRE, P155
[32]  
Shihab E, 2012, INT SYMP EMP SOFTWAR, P301, DOI 10.1145/2372251.2372305
[33]  
Tian Y, 2012, PROC INT CONF SOFTW, P386, DOI 10.1109/ICSE.2012.6227176
[34]  
Weissgerber P, 2008, Proceedings of the 2008 international working conference on Mining software repositories, MSR '08, P67, DOI 10.1145/1370750.1370767
[35]  
Zou LJ, 2006, WORK CONF REVERSE EN, P71