Predicting code smells and analysis of predictions: using machine learning techniques and software metrics

MY Mhawish, M Gupta - Journal of Computer Science and Technology, 2020 - Springer
Journal of Computer Science and Technology, 2020Springer
Code smell detection is essential to improve software quality, enhancing software
maintainability, and decrease the risk of faults and failures in the software system. In this
paper, we proposed a code smell prediction approach based on machine learning
techniques and software metrics. The local interpretable model-agnostic explanations
(LIME) algorithm was further used to explain the machine learning model's predictions and
interpretability. The datasets obtained from Fontana et al. were reformed and used to build …
Abstract
Code smell detection is essential to improve software quality, enhancing software maintainability, and decrease the risk of faults and failures in the software system. In this paper, we proposed a code smell prediction approach based on machine learning techniques and software metrics. The local interpretable model-agnostic explanations (LIME) algorithm was further used to explain the machine learning model’s predictions and interpretability. The datasets obtained from Fontana et al. were reformed and used to build binary-label and multi-label datasets. The results of 10-fold cross-validation show that the performance of tree-based algorithms (mainly Random Forest) is higher compared with kernel-based and network-based algorithms. The genetic algorithm based feature selection methods enhance the accuracy of these machine learning algorithms by selecting the most relevant features in each dataset. Moreover, the parameter optimization techniques based on the grid search algorithm significantly enhance the accuracy of all these algorithms. Finally, machine learning techniques have high potential in predicting the code smells, which contribute to detect these smells and enhance the software’s quality.
Springer
以上显示的是最相近的搜索结果。 查看全部搜索结果