Are Slice-Based Cohesion Metrics Actually Useful in Effort-Aware Post-Release Fault-Proneness Prediction? An Empirical Study

被引:53
作者
Yang, Yibiao [1 ]
Zhou, Yuming [1 ]
Lu, Hongmin [1 ]
Chen, Lin [1 ]
Chen, Zhenyu [2 ]
Xu, Baowen [1 ]
Leung, Hareton [3 ]
Zhang, Zhenyu [4 ]
机构
[1] Nanjing Univ, Dept Comp Sci & Technol, State Key Lab Novel Software Technol, Nanjing 210023, Jiangsu, Peoples R China
[2] Nanjing Univ, Sch Software, State Key Lab Novel Software Technol, Nanjing 210023, Jiangsu, Peoples R China
[3] Hong Kong Polytech Univ, Dept Comp, Hong Kong, Hong Kong, Peoples R China
[4] Chinese Acad Sci, Inst Software, State Key Lab Comp Sci, Beijing, Peoples R China
基金
中国国家自然科学基金;
关键词
Cohesion; metrics; slice-based; fault-proneness; prediction; effort-aware; CODE CHURN; SOFTWARE; COMPLEXITY; QUALITY; MODULES;
D O I
10.1109/TSE.2014.2370048
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Background. Slice-based cohesion metrics leverage program slices with respect to the output variables of a module to quantify the strength of functional relatedness of the elements within the module. Although slice-based cohesion metrics have been proposed for many years, few empirical studies have been conducted to examine their actual usefulness in predicting fault-proneness. Objective. We aim to provide an in-depth understanding of the ability of slice-based cohesion metrics in effort-aware post-release fault-proneness prediction, i.e. their effectiveness in helping practitioners find post-release faults when taking into account the effort needed to test or inspect the code. Method. We use the most commonly used code and process metrics, including size, structural complexity, Halstead's software science, and code churn metrics, as the baseline metrics. First, we employ principal component analysis to analyze the relationships between slice-based cohesion metrics and the baseline metrics. Then, we use univariate prediction models to investigate the correlations between slice-based cohesion metrics and post-release fault-proneness. Finally, we build multivariate prediction models to examine the effectiveness of slice-based cohesion metrics in effort-aware post-release fault-proneness prediction when used alone or used together with the baseline code and process metrics. Results. Based on open-source software systems, our results show that: 1) slice-based cohesion metrics are not redundant with respect to the baseline code and process metrics; 2) most slice-based cohesion metrics are significantly negatively related to post-release fault-proneness; 3) slice-based cohesion metrics in general do not outperform the baseline metrics when predicting post-release fault-proneness; and 4) when used with the baseline metrics together, however, slice-based cohesion metrics can produce a statistically significant and practically important improvement of the effectiveness in effort-aware post-release fault-proneness prediction. Conclusion. Slice-based cohesion metrics are complementary to the most commonly used code and process metrics and are of practical value in the context of effort-aware post-release fault-proneness prediction.
引用
收藏
页码:331 / 357
页数:27
相关论文
共 66 条
[1]   Software similarity-based functional cohesion metric [J].
Al Dallal, J. .
IET SOFTWARE, 2009, 3 (01) :46-57
[2]   Fault prediction and the discriminative powers of connectivity-based object-oriented class cohesion metrics [J].
Al Dallal, Jehad .
INFORMATION AND SOFTWARE TECHNOLOGY, 2012, 54 (04) :396-416
[3]   Measuring the Discriminative Power of Object-Oriented Class Cohesion Metrics [J].
Al Dallal, Jehad .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2011, 37 (06) :788-804
[4]   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
[5]   A validation of object-oriented design metrics as quality indicators [J].
Basili, VR ;
Briand, LC ;
Melo, WL .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1996, 22 (10) :751-761
[6]   SOFTWARE ERRORS AND COMPLEXITY - AN EMPIRICAL-INVESTIGATION [J].
BASILI, VR ;
PERRICONE, BT .
COMMUNICATIONS OF THE ACM, 1984, 27 (01) :42-52
[7]  
Belsley DA, 1980, REGRESSION DIAGNOSTI
[8]   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
[9]   MEASURING FUNCTIONAL COHESION [J].
BIEMAN, JM ;
OTT, LM .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1994, 20 (08) :644-657
[10]  
Black S., 2005, P DAGSTH SEM PROGR S