Abstract
Change-proneness is an important quality attribute that can help developers to maintain source code more effectively. Change-prone classes refer to those classes which are more likely to change across releases. Existing approaches have used object-oriented metrics to predict change-prone classes. However, community smells related information, which represents the communication issues among developers’ community, has not yet been considered to predict change-prone classes. This study investigates the impact of including community smells-related information with existing Object Oriented (OO) metrics to predict a class to be change-prone in future software releases. It aims to understand the extent to which the addition of community smell-related information can contribute to the performance of change prediction models. To perform analysis, 317 releases of 14 open-source Java projects were selected from GitHub. The resulting dataset is used to predict change-prone classes with five different popular and widely used machine learning algorithms, namely K-nearest neighbor (KNN), Random Forest (RF), Naive Bayes (NB), Logistic Regression (LR) and Multilayer Perceptron (MLP). To evaluate the performance of the classifiers, accuracy, and F1-measure are used. The experimental results suggest that including community smell metrics along with the existing OO metrics gives better performance in predicting change-prone classes. Moreover, MLP and LR algorithms, which are both parametric models, are found to predict change-prone classes better when Community Smell(CMS) related features are incorporated, in comparison with other non-parametric models. By including CMS along with OO metrics, 1.51% increase in average accuracy and 3.52% increase in average F1 score for Logistic Regression, and 1.69% increase in average accuracy and 3.26% increase in average F1 score for Multi-layer Perceptron have been found. DUJASE Vol. 8 (1) 32-41, 2023 (January)
Published Version
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have