# Credibility Based Imbalance Boosting Method for Software Defect Proneness Prediction
## 6 Discussion  
### Why CIB Works?  
The experimental results provide substantial empirical support demonstrating that taking the credibility of synthetic samples into consideration is helpful for dealing with the class-imbalance problem in software defect prediction. The performance of CIB can be attributed to three aspects: oversampling, boosting framework, and the proposed credibility of synthetic samples. A good defect prediction model should have a high PD, but a low PF as [PERSON] [3] argued. We further empirically discuss how CIB works in terms of PD and PF.  
Figure 4 presents the bar plots of PD and PF for CIB and the baselines across all 11 benchmark datasets. From the figure, we can see that RUS obtained the largest PD at the cost of a extremely high PF. The reason of high PF is that too mach useful information of non-defective samples is abandoned when randomly removing many non-defective samples, especially the case that the defect dataset is highly imbalanced. We also notice that CIB achieved the second largest PD (0.388), closely followed by SMOTE (PD = 0.386) and MAHAKIL (PD = 0.375) at the cost of a smaller _PF_ than them. The reason of this is that some synthetic minority class samples generated by SMOTE are noisy, which damages the classification of actual majority class samples. When compared with AdaBoost, AdaC2, and None, CIB largely improved PD at the cost  
\begin{table}
\begin{tabular}{l c c c c c c c} \hline \hline
**Data** & **Our CIB** & \begin{tabular}{c} **MAHAKIL** \\ [44] \\ \end{tabular} & **AdaC2**[45] & \
\begin{tabular}{c} **AdaBoost** \\ [46] \\ \end{tabular} &
\begin{tabular}{c} **SMOTE** \\ [40] \\ \end{tabular} & **RUS**[35] & **None** \\ \hline CM1 & 11.05 & 2.2 & 0.53 & 0.23 & 0.38 & 0.03 & 0.02 \\ KC1 & 30.03 & 1.98 & 0.83 & 0.73 & 0.39 & 0.03 & 0.03 \\ KC3 & 3.52 & 0.56 & 0.25 & 0.17 & 0.2 & 0.02 & 0.01 \\ MC1 & 279.27 & 6.08 & 1.38 & 0.97 & 0.41 & 0.02 & 0.03 \\ MC2 & 2.11 & 0.36 & 0.22 & 0.06 & 0.22 & 0 & 0.01 \\ MW1 & 5.92 & 0.7 & 0.22 & 0.14 & 0.2 & 0 & 0.01 \\ PC1 & 31.56 & 2.16 & 0.52 & 0.38 & 0.23 & 0.02 & 0.01 \\ PC2 & 41.45 & 2.25 & 0.33 & 0.2 & 0.23 & 0 & 0.01 \\ PC3 & 64.95 & 2.83 & 0.88 & 0.83 & 0.28 & 0.02 & 0.03 \\ PC4 & 87 & 3.14 & 0.86 & 0.83 & 0.42 & 0.03 & 0.07 \\ JM1 & 1898.88 & 10.11 & 14.59 & 10.94 & 1.84 & 0.28 & 0.31 \\ \hline
**Average** & 223.25 & 2.94 & 1.87 & 1.41 & 0.44 & 0.04 & 0.05 \\ \hline \hline \end{tabular}
\end{table}
Table 13: Training time of credibility based imbalance boosting (CIB) and the baselines (in second).  
\begin{table}
\begin{tabular}{l c c c c c c} \hline \hline
**Data** & **Our CIB** & \
\begin{tabular}{c} **MAHAKIL** \\ [44] \\ \end{tabular} & **AdaC2**[45] &
\begin{tabular}{c} **AdaBoost** \\ [46] \\ \end{tabular} & **SMOTE** [40] & **RUS**[35] & **None** \\ \hline CM1 & 0.203 & 0.219 & 0.203 & 0.266 & 0.156 & 0.313 & 0.225 \\ KC1 & 0.188 & 0.172 & 0.141 & 0.125 & 0.406 & 0.109 & 0.127 \\ KC3 & 0.141 & 0.094 & 0.125 & 0.125 & 0.188 & 0.172 & 0.134 \\ MC1 & 0.172 & 0.078 & 0.172 & 0.109 & 0.172 & 0.141 & 0.122 \\ MC2 & 0.141 & 0.078 & 0.172 & 0.109 & 0.125 & 0.141 & 0.112 \\ MW1 & 0.141 & 0.109 & 0.141 & 0.172 & 0.172 & 0.156 & 0.162 \\ PC1 & 0.156 & 0.078 & 0.156 & 0.172 & 0.141 & 0.125 & 0.119 \\ PC2 & 0.188 & 0.094 & 0.156 & 0.125 & 0.125 & 0.203 & 0.158 \\ PC3 & 0.141 & 0.094 & 0.125 & 0.125 & 0.125 & 0.125 & 0.139 \\ PC4 & 0.141 & 0.078 & 0.141 & 0.156 & 0.141 & 0.156 & 0.127 \\ JM1 & 0.234 & 0.094 & 0.141 & 0.172 & 0.234 & 0.125 & 0.115 \\ \hline
**Average** & 0.168 & 0.108 & 0.152 & 0.151 & 0.18 & 0.161 & 0.14 \\ \hline \hline \end{tabular}
\end{table}
Table 14: Testing time of CIB and the baselines (in second).  
of an acceptable PF (PF = 0.101) considering that of AdaBoost (0.068), AdaC2 (PF = 0.069), and None (PF = 0.075).  
In summary, any of CIB's three components, including oversampling, boosting framework, and the proposed credibility of synthetic samples, is essential to ensure the performance of CIB.