Abstract Modern 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 welladvised 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 Communicated by: Thomas Zimmermann This submission extends a previous publication on the same subject. A paragraph at the end of Section 1 explains the relationship of this work with our previous work. This work is supported by Canada's Natural Science and Engineering Research Council and an Ontario Graduate Scholarship. We would also like to acknowledge help from the Statistical Consulting Service at the University of Waterloo. We thank Tian Jiang for identifying the precision and recall of the heuristic for identifying bug-fixing commits in Xorg. (2014) 19:1009-1039 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.
Eyolfson et al. REF investigated the relationship between time-based characteristics of commits and their bugginess, of which results showed that the bugginess of a commit is correlated with the commit time.
Correlations between bugginess and time-based commit characteristics
Empirical Software Engineering
Empirical Software Engineering
Computer Science