Document Type

Article

Department/Program

Computer Science

Journal Title

JOURNAL OF SOFTWARE-EVOLUTION AND PROCESS

Pub Date

1-2-2017

Volume

29

Issue

1

Abstract

This paper analyzes developer-related factors that could influence the likelihood for a commit to induce a fix. Specifically, we focus on factors that could potentially hinder developers' ability to correctly understand the code components involved in the change to be committed as follows: (i) the coherence of the commit (i.e., how much it is focused on a specific topic); (ii) the experience level of the developer on the files involved in the commit; and (iii) the interfering changes performed by other developers on the files involved in past commits. The results of our study indicate that fix-inducing' commits (i.e., commits that induced a fix) are significantly less coherent than clean' commits (i.e., commits that did not induce a fix). Surprisingly, fix-inducing' commits are performed by more experienced developers; yet, those are the developers performing more complex changes in the system. Finally, fix-inducing' commits have a higher number of past interfering changes as compared with clean' commits. Our empirical study sheds light on previously unexplored factors and presents significant results that can be used to improve approaches for defect prediction. Copyright (c) 2016 John Wiley & Sons, Ltd.

DOI

https://doi.org/10.1002/smr.1797

Share

COinS