Code churn: A neglected metric in effort-aware just-in-time defect prediction

被引:51
作者
Liu, Jinping [1 ,2 ]
Zhou, Yuming [1 ]
Yang, Yibiao [1 ]
Lu, Hongmin [1 ]
Xu, Baowen [1 ]
机构
[1] Nanjing Univ, State Key Lab Novel Software Technol, Nanjing, Jiangsu, Peoples R China
[2] Jiangsu Univ, Sch Comp Sci & Telecommun Engn, Zhenjiang, Peoples R China
来源
11TH ACM/IEEE INTERNATIONAL SYMPOSIUM ON EMPIRICAL SOFTWARE ENGINEERING AND MEASUREMENT (ESEM 2017) | 2017年
基金
中国国家自然科学基金;
关键词
Defect; prediction; changes; just-in-time; code churn; unsupervised models; supervised models; COMPLEXITY; FAULTS;
D O I
10.1109/ESEM.2017.8
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Background: An increasing research effort has devoted to just-in-time (JIT) defect prediction. A recent study by Yang et al. at FSE'16 leveraged individual change metrics to build unsupervised JIT defect prediction model. They found that many unsupervised models performed similarly to or better than the state-of-the-art supervised models in effort-aware JIT defect prediction. Goal: In Yang et al.'s study, code churn (i.e. the change size of a code change) was neglected when building unsupervised defect prediction models. In this study, we aim to investigate the effectiveness of code churn based unsupervised defect prediction model in effort-aware JIT defect prediction. Methods: Consistent with Yang et al.'s work, we first use code churn to build a code churn based unsupervised model (CCUM). Then, we evaluate the prediction performance of CCUM against the state-of-the-art supervised and unsupervised models under the following three prediction settings: cross-validation, time-wise cross-validation, and cross-project prediction. Results: In our experiment, we compare CCUM against the state-of-the-art supervised and unsupervised JIT defect prediction models. Based on six open-source projects, our experimental results show that CCUM performs better than all the prior supervised and unsupervised models. Conclusions: The result suggests that future JIT defect prediction studies should use CCUM as a baseline model for comparison when a novel model is proposed.
引用
收藏
页码:11 / 19
页数:9
相关论文
共 37 条
[1]   A systematic and comprehensive investigation of methods to build and evaluate fault prediction models [J].
Arisholm, Erik ;
Briand, Lionel C. ;
Johannessen, Eivind B. .
JOURNAL OF SYSTEMS AND SOFTWARE, 2010, 83 (01) :2-17
[2]   CONTROLLING THE FALSE DISCOVERY RATE - A PRACTICAL AND POWERFUL APPROACH TO MULTIPLE TESTING [J].
BENJAMINI, Y ;
HOCHBERG, Y .
JOURNAL OF THE ROYAL STATISTICAL SOCIETY SERIES B-STATISTICAL METHODOLOGY, 1995, 57 (01) :289-300
[3]  
Bettenburg N., MSR, P60
[4]  
Cheung L, 2008, ICSE'08 PROCEEDINGS OF THE THIRTIETH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, P111, DOI 10.1145/1368088.1368104
[5]  
Eyolfson J., MSR, P153
[6]  
Fu W., 2017, ARXIV170300132CSSE
[7]  
Fukushima T., MSR, P172
[8]  
Giger E., ESEM, P171
[9]   Predicting fault incidence using software change history [J].
Graves, TL ;
Karr, AF ;
Marron, JS ;
Siy, H .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2000, 26 (07) :653-661
[10]   Predicting Faults Using the Complexity of Code Changes [J].
Hassan, Ahmed E. .
2009 31ST INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, PROCEEDINGS, 2009, :78-88