Empirical Analysis on Effectiveness of Source Code Metrics for Predicting Change-Proneness

被引:24
作者
Kumar, Lov [1 ]
Rath, Santanu Kumar [1 ]
Sureka, Ashish [2 ]
机构
[1] NIT, Rourkela, India
[2] ABB Corp Res, Bangalore, Karnataka, India
来源
PROCEEDINGS OF THE 10TH INNOVATIONS IN SOFTWARE ENGINEERING CONFERENCE | 2017年
关键词
Change-Proneness; Source Code Metrics; Feature Selection Techniques; Classification Technique; Ensemble Techniques; FEATURE-SELECTION; MAINTAINABILITY;
D O I
10.1145/3021460.3021461
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Change-prone classes or modules are defined as software components in the source code which are likely to change in the future. Change-proneness prediction are useful to the maintenance team as they can optimize and focus their testing resources on the modules which have a higher likelihood of change. The quality of change-proneness prediction model can be best assessed by the use of software metrics that are considered to design the prediction model. In this work, 62 software metrics with four metrics dimensions, including 7 size metrics, 18 cohesion metrics, 20 coupling metrics, and 17 inheritance metrics are considered to develop a model for predicting change-proneness modules. Since the performance of the change-proneness model depends on the source code metrics, they are used as input of the change-proneness model. We also considered five different types of feature selection techniques to remove irrelevant feature and select best set of features. The effectiveness of these set of source code metrics are evaluated using eight different machine learning algorithms and two ensemble techniques. Experimental results demonstrates that the model developed by considering selected set of source code metrics by feature selection technique as input achieves better results as compared to considering all source code metrics. The experimental results also ravel that the change-proneness model developed by using coupling metrics achieved better performance as compared other dimension metrics such as size metrics, cohesion metrics, and inheritance metrics.
引用
收藏
页码:4 / 14
页数:11
相关论文
共 29 条
[1]   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
[2]   An empirical analysis of the impact of software development problem factors on software maintainability [J].
Chen, Jie-Cherng ;
Huang, Sun-Jen .
JOURNAL OF SYSTEMS AND SOFTWARE, 2009, 82 (06) :981-992
[3]   Feature selection and classification using flexible neural tree [J].
Chen, Yuehui ;
Abraham, Ajith ;
Yang, Bo .
NEUROCOMPUTING, 2006, 70 (1-3) :305-313
[4]   A METRICS SUITE FOR OBJECT-ORIENTED DESIGN [J].
CHIDAMBER, SR ;
KEMERER, CF .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1994, 20 (06) :476-493
[5]  
Doraisamy Shyamala., 2008, International Society for Music Information Retrieval, P331
[6]   Three empirical studies on predicting software maintainability using ensemble methods [J].
Elish, Mahmoud O. ;
Aljamaan, Hamoud ;
Ahmad, Irfan .
SOFT COMPUTING, 2015, 19 (09) :2511-2524
[7]  
Forman G., 2003, Journal of Machine Learning Research, V3, P1289, DOI 10.1162/153244303322753670
[8]   Entropy-based gene ranking without selection bias for the predictive classification of microarray data [J].
Furlanello, C ;
Serafini, M ;
Merler, S ;
Jurman, G .
BMC BIOINFORMATICS, 2003, 4 (1)
[9]   Choosing software metrics for defect prediction: an investigation on feature selection techniques [J].
Gao, Kehan ;
Khoshgoftaar, Taghi M. ;
Wang, Huanjing ;
Seliya, Naeem .
SOFTWARE-PRACTICE & EXPERIENCE, 2011, 41 (05) :579-606
[10]   Measuring behavioral dependency for improving change-proneness prediction in UML-based design models [J].
Han, Ah-Rim ;
Jeon, Sang-Uk ;
Bae, Doo-Hwan ;
Hong, Jang-Eui .
JOURNAL OF SYSTEMS AND SOFTWARE, 2010, 83 (02) :222-234