Fine-grained just-in-time defect prediction

被引:109
作者
Pascarella, Luca [1 ]
Palomba, Fabio [2 ]
Bacchelli, Alberto [2 ]
机构
[1] Delft Univ Technol, Delft, Netherlands
[2] Univ Zurich, Zurich, Switzerland
关键词
Just-in-time defect prediction; Empirical Software Engineering; Mining software repositories; CODE CHURN; SOFTWARE; IMPACT; QUALITY; METRICS; VALIDATION; FAULTS;
D O I
10.1016/j.jss.2018.12.001
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Defect prediction models focus on identifying defect-prone code elements, for example to allow practitioners to allocate testing resources on specific subsystems and to provide assistance during code reviews. While the research community has been highly active in proposing metrics and methods to predict defects on long-term periods (i.e.,at release time), a recent trend is represented by the so-called short-term defect prediction (i.e.,at commit-level). Indeed, this strategy represents an effective alternative in terms of effort required to inspect files likely affected by defects. Nevertheless, the granularity considered by such models might be still too coarse. Indeed, existing commit-level models highlight an entire commit as defective even in cases where only specific files actually contain defects. In this paper, we first investigate to what extent commits are partially defective; then, we propose a novel fine-grained just-in-time defect prediction model to predict the specific files, contained in a commit, that are defective. Finally, we evaluate our model in terms of (i) performance and (ii) the extent to which it decreases the effort required to diagnose a defect. Our study highlights that: (1) defective commits are frequently composed of a mixture of defective and non-defective files, (2) our fine-grained model can accurately predict defective files with an AUC-ROC up to 82% and (3) our model would allow practitioners to save inspection efforts with respect to standard just-in-time techniques. (C) 2018 Published by Elsevier Inc.
引用
收藏
页码:22 / 36
页数:15
相关论文
共 85 条
[1]  
[Anonymous], 2011, P ACM SIGSOFT S EURO
[2]  
[Anonymous], IEEE SPECTR
[3]  
[Anonymous], 2006, SOFTWARE ENG UPDATE
[4]  
[Anonymous], 2018, P INT C SOFTW MAINT
[5]  
[Anonymous], TECHNICAL REPORT
[6]  
[Anonymous], IEEE T SOFTWARE ENG
[7]  
[Anonymous], IEEE T SOFTWARE ENG
[8]  
[Anonymous], P 2008 INT WORK C MI
[9]  
[Anonymous], P 32 INT C SOFTW MAI
[10]  
[Anonymous], 2007, ENCY MEASUREMENT STA, DOI DOI 10.4135/9781412952644