journal article·2022-04-30Open access

Software Defect Prediction Using Stacking Generalization of Optimized Tree-Based Ensembles

Amal Alazba, Hamoud Aljamaan

Applied Sciences· Volume 12· Issue 9

Abstract

Software defect prediction refers to the automatic identification of defective parts of software through machine learning techniques. Ensemble learning has exhibited excellent prediction outcomes in comparison with individual classifiers. However, most of the previous work utilized ensemble models in the context of software defect prediction with the default hyperparameter values, which are considered suboptimal. In this paper, we investigate the applicability of a stacking ensemble built with fine-tuned tree-based ensembles for defect prediction. We used grid search to optimize the hyperparameters of seven tree-based ensembles: random forest, extra trees, AdaBoost, gradient boosting, histogram-based gradient boosting, XGBoost and CatBoost. Then, a stacking ensemble was built utilizing the fine-tuned tree-based ensembles. The ensembles were evaluated using 21 publicly available defect datasets. Empirical results showed large impacts of hyperparameter optimization on extra trees and random forest ensembles. Moreover, our results demonstrated the superiority of the stacking ensemble over all fine-tuned tree-based ensembles.
Source: crossref · Quality: baseline

Research context

OpenAlex topics: Software Engineering Research · Software Reliability and Analysis Research · Software Testing and Debugging Techniques

SciVX discovery tags are terminology-based. OpenAlex topics are source-provided classifications.

Affiliations

Information and Computer Science Department, King Fahd University of Petroleum and Minerals, Dhahran 31261, Saudi Arabia

Department of Information Systems, King Saud University, Riyadh 11362, Saudi Arabia

References (55)

Show source-provided references
1. Defect prediction from static code features: Current results, limitations, new approaches10.1007/s10515-010-0069-5 ↗
2. A systematic review of machine learning techniques for software fault prediction10.1016/j.asoc.2014.11.023 ↗
3. Aljamaan, H., and Alazba, A. (2020, January 8–9). Software defect prediction using tree-based ensembles. Proceedings of the 16th ACM International Conference on Predictive Models and Data Analytics in Software Engineering, Virtual Event.10.1145/3416508.3417114 ↗
4. Tosun, A., and Bener, A. (2009, January 15). Reducing false alarms in software defect prediction by decision threshold optimization. Proceedings of the 2009 3rd International Symposium on Empirical Software Engineering and Measurement, Lake Buena Vista, FL, USA.10.1109/ESEM.2009.5316006 ↗
5. Tantithamthavorn, C., McIntosh, S., Hassan, A.E., and Matsumoto, K. (2016, January 14–22). Automated Parameter Optimization of Classification Techniques for Defect Prediction Models. Proceedings of the 2016 IEEE/ACM 38th International Conference on Software Engineering (ICSE), Austin, TX, USA.10.1145/2884781.2884857 ↗
6. Osman, H., Ghafari, M., and Nierstrasz, O. (2017, January 21). Hyperparameter optimization to improve bug prediction accuracy. Proceedings of the 2017 IEEE Workshop on Machine Learning Techniques for Software Quality Evaluation (MaLTeSQuE), Klagenfurt, Austria.10.1109/MALTESQUE.2017.7882014 ↗
7. Ensemble-based classifiers10.1007/s10462-009-9124-7 ↗
8. Zhou, Z.H. (2012). Ensemble Methods: Foundations and Algorithms, Chapman & Hall/CRC. [1st ed.].10.1201/b12207 ↗
9. A survey of decision tree classifier methodology10.1109/21.97458 ↗
10. Boosting a Weak Learning Algorithm by Majority10.1006/inco.1995.1136 ↗
11. Bagging predictors10.1007/BF00058655 ↗
12. Ho, T.K. (1995, January 14–16). Random decision forests. Proceedings of the 3rd International Conference on Document Analysis and Recognition, Montreal, QC, Canada.
13. Extremely randomized trees10.1007/s10994-006-6226-1 ↗
14. Greedy Function Approximation: A Gradient Boosting Machine10.1214/aos/1013203451 ↗
15. van der Aalst, W.M.P., Batagelj, V., Ignatov, D.I., Khachay, M., Kuskova, V., Kutuzov, A., Kuznetsov, S.O., Lomazova, I.A., Loukachevitch, N., and Napoli, A. (2019). Histogram-Based Algorithm for Building Gradient Boosting Ensembles of Piecewise Linear Decision Trees. Analysis of Images, Social Networks and Texts, Springer International Publishing. Lecture Notes in Computer Science.10.1007/978-3-030-37334-4 ↗
16. Chen, T., and Guestrin, C. (2016, January 13–17). XGBoost: A Scalable Tree Boosting System. Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (KDD ’16), San Francisco, CA, USA.10.1145/2939672.2939785 ↗
17. Dorogush, A.V., Ershov, V., and Gulin, A. (2018). CatBoost: Gradient boosting with categorical features support. arXiv.
18. Stacked generalization10.1016/S0893-6080(05)80023-1 ↗
19. Aggarwal, C.C. (2015). Data Classification: Algorithms and Applications, CRC Press. Google-Books-ID: NwQZCwAAQBAJ.
20. Aljamaan, H.I., and Elish, M.O. (April, January 30). An empirical study of bagging and boosting ensembles for identifying faulty classes in object-oriented software. Proceedings of the 2009 IEEE Symposium on Computational Intelligence and Data Mining, Nashville, TN, USA.10.1109/CIDM.2009.4938648 ↗
21. Yohannese, C.W., Li, T., Simfukwe, M., and Khurshid, F. (2017, January 24–26). Ensembles based combined learning for improved software fault prediction: A comparative study. Proceedings of the 2017 12th International Conference on Intelligent Systems and Knowledge Engineering (ISKE), Nanjing, China.10.1109/ISKE.2017.8258836 ↗
22. Petrić, J., Bowes, D., Hall, T., Christianson, B., and Baddoo, N. (2016, January 8–9). Building an Ensemble for Software Defect Prediction Based on Diversity Selection. Proceedings of the 10th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM ’16), Ciudad Real, Spain.10.1145/2961111.2962610 ↗
23. BPDET: An effective software bug prediction model using deep representation and ensemble learning techniques10.1016/j.eswa.2019.113085 ↗
24. Performance Evaluation of Ensemble Methods For Software Fault Prediction: An Experiment10.1145/2811681.2811699 ↗
25. Li, R., Zhou, L., Zhang, S., Liu, H., Huang, X., and Sun, Z. (2019, January 19–21). Software Defect Prediction Based on Ensemble Learning. Proceedings of the 2019 2nd International Conference on Data Science and Information Technology (DSIT 2019), Seoul, Korea.10.1145/3352411.3352412 ↗
26. Tran, H.D., Hanh, L.T.M., and Binh, N.T. (2019, January 24–26). Combining feature selection, feature learning and ensemble learning for software fault prediction. Proceedings of the 2019 11th International Conference on Knowledge and Systems Engineering (KSE), Da Nang, Vietnam.10.1109/KSE.2019.8919292 ↗
27. Software defect prediction using stacked denoising autoencoders and two-stage ensemble learning10.1016/j.infsof.2017.11.008 ↗
28. Software defect prediction using ensemble learning on selected features10.1016/j.infsof.2014.07.005 ↗
29. Hyper-Parameter Optimization of Classifiers, Using an Artificial Immune Network and Its Application to Software Bug Prediction10.1109/ACCESS.2020.2968362 ↗
30. The Impact of Automated Parameter Optimization on Defect Prediction Models10.1109/TSE.2018.2794977 ↗
31. Tuning for Software Analytics: Is it Really Necessary?10.1016/j.infsof.2016.04.017 ↗
32. Comparing Hyperparameter Optimization in Cross- and Within-Project Defect Prediction: A Case Study10.1007/s13369-018-3564-9 ↗
33. The TAME project: Towards improvement-oriented software environments10.1109/32.6156 ↗
34. Data Quality: Some Comments on the NASA Software Defect Datasets10.1109/TSE.2013.11 ↗
35. D’Ambros, M., Lanza, M., and Robbes, R. (2010, January 2–3). An extensive comparison of bug prediction approaches. Proceedings of the 2010 7th IEEE Working Conference on Mining Software Repositories (MSR 2010), Cape Town, South Africa.10.1109/MSR.2010.5463279 ↗
36. Jureczko, M., and Madeyski, L. (2010, January 12–13). Towards identifying software project clusters with regard to defect prediction. Proceedings of the 6th International Conference on Predictive Models in Software Engineering (PROMISE ’10), Timisoara, Romania.10.1145/1868328.1868342 ↗
37. Wu, R., Zhang, H., Kim, S., and Cheung, S.C. (2011, January 5–9). ReLink: Recovering links between bugs and changes. Proceedings of the 19th ACM SIGSOFT Symposium and the 13th European Conference on Foundations of Software Engineering (ESEC/FSE ’11), Szeged, Hungary.10.1145/2025113.2025120 ↗
38. Zimmermann, T., Premraj, R., and Zeller, A. (2007, January 20). Predicting Defects for Eclipse. Proceedings of the Third International Workshop on Predictor Models in Software Engineering (PROMISE ’07), Minneapolis, MN, USA.10.1109/PROMISE.2007.10 ↗
39. Kim, S., Zhang, H., Wu, R., and Gong, L. (2011, January 21–28). Dealing with noise in defect prediction. Proceedings of the 2011 33rd International Conference on Software Engineering (ICSE), Honolulu, HI, USA.10.1145/1985793.1985859 ↗
40. On the relative value of cross-company and within-company data for defect prediction10.1007/s10664-008-9103-7 ↗
41. A simulation study of the number of events per variable in logistic regression analysis10.1016/S0895-4356(96)00236-3 ↗
42. An Empirical Comparison of Model Validation Techniques for Defect Prediction Models10.1109/TSE.2016.2584050 ↗
43. Bergstra, J., Bardenet, R., Bengio, Y., and Kégl, B. (2011, January 12–15). Algorithms for hyper-parameter optimization. Proceedings of the 24th International Conference on Neural Information Processing Systems, Granada, Spain.
44. Approximate statistical tests for comparing supervised classification learning algorithms10.1162/089976698300017197 ↗
45. Scikit-learn: Machine Learning in Python
46. Jiang, Y., Cukic, B., and Menzies, T. (2008, January 20). Can data transformation help in the detection of fault-prone modules?. Proceedings of the 2008 Workshop on Defects in Large Software Systems (DEFECTS ’08), Seattle, WA, USA.10.1145/1390817.1390822 ↗
47. A survey of methodologies for the treatment of missing values within datasets: Limitations and benefits10.1080/14639220903470205 ↗
48. Mundfrom, D.J., and Whitcomb, A. (1998). Imputing Missing Values: The Effect on the Accuracy of Classification, Multiple Linear Regression Viewpoints.
49. Kohavi, R. (1995, January 20–25). A study of cross-validation and bootstrap for accuracy estimation and model selection. Proceedings of the 14th International Joint Conference on Artificial Intelligence-Volume 2 (IJCAI’95), Montreal, QC, Canada.
50. Using K-core Decomposition on Class Dependency Networks to Improve Bug Prediction Model’s Practical Performance10.1109/TSE.2019.2892959 ↗
51. Verification of Forecasts Expressed in Terms of Probability10.1175/1520-0493(1950)078<0001:VOFEIT>2.0.CO;2 ↗
52. Effect size estimates: Current use, calculations, and interpretation10.1037/a0024338 ↗
54. Tantithamthavorn, C. (2022, March 02). ScottKnottESD: The Scott-Knott Effect Size Difference (ESD) Test. Available online: https://cran.r-project.org/package=ScottKnottESD.
55. A Cluster Analysis Method for Grouping Means in the Analysis of Variance10.2307/2529204 ↗