# Credibility Based Imbalance Boosting Method for Software Defect Proneness Prediction
## 1 Introduction
According to the literature, the prevalent methods for addressing class-imbalance learning problem in the SDP field are the resampling methods, e.g., synthetic minority oversampling technique (SMOTE) [40]. However, oversampling-based methods such as SMOTE and its variants (e.g., Borderline-SMOTE [41] and MWMOTE [42]) treat the synthetic minority samples equally with the real minority samples. Thus, the unreliable synaptic minority samples may interfere with the learning on real samples and shift the decision boundaries to incorrect directions. In this paper, we propose a novel method named credibility based imbalance boosting to addressing the class-imbalance problem for software defect proneness prediction. We try to measure the credibility of synthetic samples by assigning credit factors to each synthetic sample. The credit factors, which will be integrated into the weight updating scheme of boosting, make the base classifier focus on the reliable synthetic samples and real samples. The weight updating scheme of synthetic samples is different from real samples. Specifically, we improve the weights of synthetic samples if they are around misclassified real minority class samples, so as to increase the classification cost on minority class. Experiments are conducted on 11 cleaned NASA datasets that are obtained from tera-PROMISE developed by [PERSON] et al [43]. We evaluate the prediction performance in terms of four measures, i.e., \(F_{1}\), AUC, AGF, and MCC The proposed CIB method is compared with existing state-of-the-art class-imbalance learning methods, including RUS [35], SMOTE [40], MAHAKIL [44], AdaC2 [45], AdaBoost [46], and an approach where no sampling is used (i.e., none). The experimental results show that our CIB is more effective as compared with the baselines. We address the following research questions (RQs):  
**RQ1: How effective is CIB? How much improvement can it obtain compared with the baselines? **  
We compare CIB with the baselines on \(11\) cleaned NASA datasets. On average, CIB always obtains the best performance in terms of \(F_{1}\), AGF, MCC, and AUC, and improves \(F_{1}\)/AGF/MCC/AUC over the baselines by at least 9%/0.2%/3.7%/1.2%. **RQ2: How is the generalization ability of CIB? **  
To answer this question, we further perform CIB on nine PROMISE datasets [43]. On average CIB still outperforms all baselines in terms of \(F_{1}\), AGF, AUC, and MCC, which indicates that CIB has a good generalization ability. **RQ3: How much time does it take for CIB to run? **  
We find that the training process of CIB is relatively time-consuming compared with the baselines, but the testing time for all methods is very small. The average training and testing time of CIB on \(11\) NASA datasets is 223.25 s and 0.168 s, respectively. This paper mainly makes the following contributions:  
(1) We propose a novel class-imbalance learning method, named credibility based imbalance boosting (CIB), for software defect proneness prediction. Differing from existing oversampling methods, CIB treats the synthetic minority samples and the real minority samples differently by using the proposed concept credit factor. To the best of our knowledge, we are the first to propose the concept of credit factor for the synthetic minority class samples. (2) Extensive experiments are conducted on \(11\) NASA datasets datasets to compare CIB with existing state-of-the-art baselines in terms of \(F_{1}\), AGF, AUC, and MCC. The experimental results show that our CIB is a more promising alternative for addressing the class-imbalance problem in software defect proneness prediction. We also perform experiments on nine PROMSIE datasets in order to investigate the generalization ability of CIB. (3) To increase the reliability of this study, the benchmark datasets and the source code of both CIB and the baselines are publicly available on GitHub ([[https://github.com/THN-BUAA/CIB-master.git](https://github.com/THN-BUAA/CIB-master.git)]([https://github.com/THN-BUAA/CIB-master.git](https://github.com/THN-BUAA/CIB-master.git))).