Application of Naïve Bayes classifiers for refactoring Prediction at the method level

2020 
Software refactoring is a technique of redesigning the existing code without changing its functionality in order to improve on code readability, code adherence, maintainability and portability. Recent years have witnessed the advancement of research in the field of improvement in code quality. The challenges involved in the field has attracted many software practitioners to identify methods or classes that need refactoring. We propose a model to predict refactoring candidates by Naive Bayes classifiers (Gaussian, Multinomial and Bernoulli (GNB, MNB, BNB)) at method level refactoring in terms of AUC and Accuracy. Method level refactoring is carried out on data set from the Tera-Promise repository and then validated. Min-max normalization and Imbalancing techniques are then applied. Then using the Wilcoxon rank test, 8 sets of significant features are drawn out of 103 sets of input features.The experimental results on the performance of 3 Naive Bayes classifiers shows that the Bernoulli Naive Bayes classifier gives more accuracy as compared to the other two classifiers. Statistical tests applied on all features (AF) and significant features (SF), shows that significant features gives more accurate prediction than all features.
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    6
    References
    0
    Citations
    NaN
    KQI
    []