Journal Article

MAHAKIL: Diversity Based Oversampling Approach to Alleviate the Class Imbalance Issue in Software Defect Prediction.

Kwabena Ebo Bennin, Jacky W. Keung, Passakorn Phannachitta, Akito Monden, Solomon Mensah
IEEE Trans. Software Eng. 2018

Abstract

Highly imbalanced data typically make accurate predictions difficult. Unfortunately, software defect datasets tend to have fewer defective modules than non-defective modules. Synthetic oversampling approaches address this concern by creating new minority defective modules to balance the class distribution before a model is trained. Notwithstanding the successes achieved by these approaches, they mostly result in over-generalization (high rates of false alarms) and generate near-duplicated data instances (less diverse data). In this study, we introduce MAHAKIL, a novel and efficient synthetic oversampling approach for software defect datasets that is based on the chromosomal theory of inheritance. Exploiting this theory, MAHAKIL interprets two distinct sub-classes as parents and generates a new instance that inherits different traits from each parent and contributes to the diversity within the data distribution. We extensively compare MAHAKIL with SMOTE, Borderline-SMOTE, ADASYN, Random Oversampling and the No sampling approach using 20 releases of defect datasets from the PROMISE repository and five prediction models. Our experiments indicate that MAHAKIL improves the prediction performance for all the models and achieves better and more significant pf values than the other oversampling approaches, based on Brunner's statistical significance test and Cliff's effect sizes. Therefore, MAHAKIL is strongly recommended as an efficient alternative for defect prediction models built on highly imbalanced datasets. Index Terms-Software defect prediction, class imbalance learning, synthetic sample generation, data sampling methods, classification problems Ç 1 INTRODUCTION S OFTWARE defect prediction models can conveniently identify software modules or classes that are more likely to be defective [1], [2]. Accurate prediction helps prevent defects by suggesting that developers focus more on these modules or classes to efficiently prioritize and allocate the limited testing resources to them. The accuracy of the prediction models are often hindered by the imbalanced nature of the datasets [3], [4], in which there are naturally fewer defective classes than the non-defe

Keywords