TY - JOUR
T1 - Assessment of code smell for predicting class change proneness using machine learning
AU - Pritam, Nakul
AU - Khari, Manju
AU - Hoang Son, Le
AU - Kumar, Raghvendra
AU - Jha, Sudan
AU - Priyadarshini, Ishaani
AU - Abdel-Basset, Mohamed
AU - Viet Long, Hoang
N1 - Publisher Copyright:
© 2019 IEEE.
PY - 2019/3/14
Y1 - 2019/3/14
N2 - Assessment of code smell for predicting software change proneness is essential to ensure its significance in the area of software quality. While multiple studies have been conducted in this regard, the number of systems studied and the methods used in this paper are quite different, thus, causing confusion for understanding the best methodology. The objective of this paper is to approve the effect of code smell on the change inclination of a specific class in a product framework. This is the novelty and surplus of this work against the others. Furthermore, this paper aims to validate code smell for predicting class change proneness to find an error in the prediction of change proneness using code smell. Six typical machine learning algorithms (Naive Bayes Classifier, Multilayer Perceptron, LogitBoost, Bagging, Random Forest, and Decision Tree) have been used to predict change proneness using code smell from a set of 8200 Java classes spanning 14 software systems. The experimental results suggest that code smell is indeed a powerful predictor of class change proneness with multilayer perceptron being the most effective technique. The sensitivity and specificity values for all the models are well over 70% with a few exceptions.
AB - Assessment of code smell for predicting software change proneness is essential to ensure its significance in the area of software quality. While multiple studies have been conducted in this regard, the number of systems studied and the methods used in this paper are quite different, thus, causing confusion for understanding the best methodology. The objective of this paper is to approve the effect of code smell on the change inclination of a specific class in a product framework. This is the novelty and surplus of this work against the others. Furthermore, this paper aims to validate code smell for predicting class change proneness to find an error in the prediction of change proneness using code smell. Six typical machine learning algorithms (Naive Bayes Classifier, Multilayer Perceptron, LogitBoost, Bagging, Random Forest, and Decision Tree) have been used to predict change proneness using code smell from a set of 8200 Java classes spanning 14 software systems. The experimental results suggest that code smell is indeed a powerful predictor of class change proneness with multilayer perceptron being the most effective technique. The sensitivity and specificity values for all the models are well over 70% with a few exceptions.
KW - change proneness
KW - Code smell
KW - machine learning
KW - multilayer perceptron
KW - software maintenance
UR - http://www.scopus.com/inward/record.url?scp=85065259117&partnerID=8YFLogxK
U2 - 10.1109/ACCESS.2019.2905133
DO - 10.1109/ACCESS.2019.2905133
M3 - Article
AN - SCOPUS:85065259117
SN - 2169-3536
VL - 7
SP - 37414
EP - 37425
JO - IEEE Access
JF - IEEE Access
M1 - 8667419
ER -