Correlations between bugginess and time-based commit characteristics
2013; Springer Science+Business Media; Volume: 19; Issue: 4 Linguagem: Inglês
10.1007/s10664-013-9245-0
ISSN1573-7616
AutoresJon Eyolfson, Lin Tan, Patrick Lam,
Tópico(s)Software System Performance and Reliability
ResumoModern software is often developed over many years with hundreds of thousands of commits. Commit metadata is a rich source of time-based characteristics, including the commit's time of day and the commit frequency and seniority of its author. The "bugginess" of a commit is also a critical property of that commit. In this paper, we investigate the correlation between a commit's time-based characteristics and its "bugginess"; such results can be useful for software developers and software engineering researchers. For instance, developers or code reviewers might be well-advised to thoroughly verify commits that are more likely to be buggy. In this paper, we study the correlation between a commit's bugginess and the time of day of the commit, the day of week of the commit, the commit frequency and seniority of the commit authors, and whether or not the developers have marked a commit as a "stable" commit. We survey three widely-used open source projects: the Linux kernel, PostgreSQL, and the Xorg server. Our main findings include: (1) commits between midnight and 4 AM (referred to as late-night commits) are significantly buggier and commits between 8 AM and noon are less buggy, implying that developers may want to double-check their own late-night commits; (2) daily-committing developers produce less-buggy commits, indicating that we may want to promote the practice of daily-committing developers reviewing other developers' commits; (3) the bugginess of commits versus day-of-week varies for different software projects; and (4) stable commits are significantly less buggy than commits in general.
Referência(s)