DocumentCode :
38622
Title :
Are Slice-Based Cohesion Metrics Actually Useful in Effort-Aware Post-Release Fault-Proneness Prediction? An Empirical Study
Author :
Yibiao Yang ; Yuming Zhou ; Hongmin Lu ; Lin Chen ; Zhenyu Chen ; Baowen Xu ; Leung, Hareton ; Zhenyu Zhang
Author_Institution :
Dept. of Comput. Sci. & Technol., Nanjing Univ., Nanjing, China
Volume :
41
Issue :
4
fYear :
2015
fDate :
April 1 2015
Firstpage :
331
Lastpage :
357
Abstract :
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 - ffort-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.
Keywords :
principal component analysis; public domain software; software metrics; Halstead´s software science; baseline code; baseline metrics; code churn metrics; effort aware post-release fault proneness prediction; multivariate prediction models; open source software systems; principal component analysis; process metrics; slice-based cohesion metrics leverage program slices; structural complexity; univariate prediction models; Complexity theory; Context; Correlation; Laboratories; Measurement; Predictive models; Software; Cohesion; effort-aware; fault-proneness; metrics; prediction; slice-based;
fLanguage :
English
Journal_Title :
Software Engineering, IEEE Transactions on
Publisher :
ieee
ISSN :
0098-5589
Type :
jour
DOI :
10.1109/TSE.2014.2370048
Filename :
6954519
Link To Document :
بازگشت