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...
详细信息
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 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.
High reliability is an essential factor of modern software. At the same time, as software complexity is increasing day by day, bug counts and rate inevitably rises, leading to undermine software reliability. To avoid ...
详细信息
ISBN:
(纸本)9781510830028
High reliability is an essential factor of modern software. At the same time, as software complexity is increasing day by day, bug counts and rate inevitably rises, leading to undermine software reliability. To avoid this problem, programmers always use issue-finding tools(bug detection) to discover the defects from source code in development of software. Recently, software inspection has been shown to be an effective way to speed up the process of source code verification and to move a portion of discovered defects from test to coding phase. As we know, modern software is often developed over many years. During this time, the commit metadata is becoming an important source of social characteristics. In this paper, our aim is to devise an empirical method to assess the percentage and the types of the issues found by issue finding tools are actual defects of the software.
暂无评论