An ensemble approach of data transformation for bug prediction based on uncertainty
摘要
To fix software bugs, changes must be made in different programming constructs of the source code. These modifications to the source code are quantified using the “complexity of code changes” in terms of entropy. The complexity of code changes across different programming constructs is non-linear, as the change in one programming construct does not cause a proportional change in another construct. This non-linearity in code change complexity may hamper the performance of bug prediction models. This paper aims to use the data transform ensemble to handle the non-linearity in code change complexity for improving bug prediction performance. Different data transformation techniques are applied to the code change complexity of different programming constructs. We evaluate the predictive power of 14 regression models and compare the performance of bug prediction models, Case 1: without data transform ensemble, and Case 2: with data transform ensemble. Bug prediction models with data transform ensemble perform better than the model without data transformation. The proposed cases were evaluated through repeated k-fold cross-validation on weekly datasets, and statistical tests were conducted to confirm improvements. Bug prediction models using the proposed data-transform ensemble achieve consistent improvements across all 14 regressors, with MAE reductions ranging from 4.516 to 7.520% and an overall average reduction of 5.741% compared to without data transform. The comparative analysis highlights that data transform ensemble significantly enhances the predictive power of bug prediction models. This suggests that leveraging entropy-based complexity measures, ensemble learning, and appropriate data transformations can improve software bug prediction accuracy.