<p>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.</p>

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

An ensemble approach of data transformation for bug prediction based on uncertainty

  • Kumari Seema Rani,
  • Meera Sharma,
  • V. B. Singh

摘要

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.