Software Defect Prediction Using Heterogeneous Ensemble Classification Based on Segmented Patterns
Source abstract
Abstract
Software defect prediction is a promising approach aiming to improve software quality and testing efficiency by providing timely identification of defect-prone software modules before the actual testing process begins. These prediction results help software developers to effectively allocate their limited resources to the modules that are more prone to defects. In this paper, a hybrid heterogeneous ensemble approach is proposed for the purpose of software defect prediction. Heterogeneous ensembles consist of set of classifiers of different learning base methods in which each of them has its own strengths and weaknesses. The main idea of the proposed approach is to develop expert and robust heterogeneous classification models. Two versions of the proposed approach are developed and experimented. The first is based on simple classifiers, and the second is based on ensemble ones. For evaluation, 21 publicly available benchmark datasets are selected to conduct the experiments and benchmark the proposed approach. The evaluation results show the superiority of the ensemble version over other well-regarded basic and ensemble classifiers.
Source: crossref · Quality: baseline
Research context
OpenAlex topics: Software Engineering Research · Software Reliability and Analysis Research · Software System Performance and Reliability
SciVX discovery tags are terminology-based. OpenAlex topics are source-provided classifications.
Affiliations
King Abdullah II School for Information Technology, The University of Jordan, Amman 11942, Jordan
Department of Computer Science, Faculty of Information Technology, Zarqa University, Zarq 13132, Jordan
College of Humanities and Sciences, University of Science and Technology of Fujairah, Fujairah 2202, UAE
References (76)
Show source-provided references
1. Software defect prediction models for quality improvement: A literature study
2. Aljarah, I., Banitaan, S., Abufardeh, S., Jin, W., and Salem, S. (2011, January 20–21). Selecting discriminating terms for bug assignment: A formal analysis. Proceedings of the 7th International Conference on Predictive Models in Software Engineering, Banff, AB, Canada.10.1145/2020390.2020402 ↗
3. Fenton, N.E., and Neil, M. (2000, January 4–11). Software metrics: Roadmap. Proceedings of the Conference on the Future of Software Engineering, Limerick, Ireland.10.1145/336512.336588 ↗
4. Fenton, N., and Bieman, J. (2014). Software Metrics: A Rigorous and Practical Approach, CRC Press.10.1201/b17461 ↗
5. Moser, R., Pedrycz, W., and Succi, G. (2008, January 10–18). A comparative analysis of the efficiency of change metrics and static code attributes for defect prediction. Proceedings of the 2008 ACM/IEEE 30th International Conference on Software Engineering, Leipzig, Germany.10.1145/1368088.1368114 ↗
6. Bhattacharya, P., Iliofotou, M., Neamtiu, I., and Faloutsos, M. (2012, January 2–9). Graph-based analysis and prediction for software evolution. Proceedings of the 2012 34th International Conference on Software Engineering (ICSE), Zurich, Switzerland.10.1109/ICSE.2012.6227173 ↗
7. A survey on software fault detection based on different prediction approaches10.1007/s40595-013-0008-z ↗
8. Wang, S., Liu, T., and Tan, L. (2016, January 14–22). Automatically learning semantic features for defect prediction. Proceedings of the 38th International Conference on Software Engineering, Austin, TX, USA.10.1145/2884781.2884804 ↗
9. Clark, B., and Zubrow, D. (2001). How Good Is the Software: A Review of Defect Prediction Techniques, InSoftware Engineering Symposium, Carreige Mellon University. Sponsored by the US Department of Defense.
10. A systematic literature review on fault prediction performance in software engineering10.1109/TSE.2011.103 ↗
11. A systematic review of machine learning techniques for software fault prediction10.1016/j.asoc.2014.11.023 ↗
12. Defect prediction from static code features: Current results, limitations, new approaches10.1007/s10515-010-0069-5 ↗
13. Li, Z., and Reformat, M. (2007, January 13–15). A practical method for the software fault-prediction. Proceedings of the 2007 IEEE International Conference on Information Reuse and Integration, Las Vegas, IL, USA.10.1109/IRI.2007.4296695 ↗
14. Mining software repositories for comprehensible software fault prediction models10.1016/j.jss.2007.07.034 ↗
15. Ensemble approaches for regression: A survey
16. Alsawalqah, H., Faris, H., Aljarah, I., Alnemer, L., and Alhindawi, N. (2017, January 26–29). Hybrid SMOTE-Ensemble Approach for Software Defect Prediction. Proceedings of the Computer Science On-Line Conference, Prague, Czech Republic.10.1007/978-3-319-57141-6_39 ↗
17. Rathore, S.S., and Kuamr, S. (2015, January 13–15). Comparative analysis of neural network and genetic programming for number of software faults prediction. Proceedings of the 2015 National Conference on Recent Advances in Electronics & Computer Engineering (RAECE), Roorkee, India.10.1109/RAECE.2015.7510216 ↗
18. Predicting number of faults in software system using genetic programming10.1016/j.procs.2015.08.454 ↗
19. An empirical study of some software fault prediction techniques for the number of faults prediction10.1007/s00500-016-2284-x ↗
20. Linear and non-linear heterogeneous ensemble methods to predict the number of faults in software systems10.1016/j.knosys.2016.12.017 ↗
21. The effectiveness of software metrics in identifying error-prone classes in post-release software evolution process10.1016/j.jss.2007.12.794 ↗
22. Sandhu, P.S., Singh, S., and Budhija, N. (2011, January 1–2). Prediction of level of severity of faults in software systems using density based clustering. Proceedings of the 2011 IEEE International Conference on Software and Computer Applications. IPCSIT, Kathmandu, Nepal.
23. Data mining static code attributes to learn defect predictors10.1109/TSE.2007.256941 ↗
24. Suffian, M.D.M., and Ibrahim, S. (2014). A Prediction Model for System Testing Defects using Regression Analysis. arXiv.
25. Learning to classify e-mail10.1016/j.ins.2006.12.005 ↗
26. Predicting defect-prone software modules using support vector machines10.1016/j.jss.2007.07.040 ↗
27. An ensemble oversampling model for class imbalance problem in software defect prediction10.1109/ACCESS.2018.2817572 ↗
28. Techniques for evaluating fault prediction models10.1007/s10664-008-9079-3 ↗
29. Using coding-based ensemble learning to improve software defect prediction10.1109/TSMCC.2012.2226152 ↗
30. Comparing case-based reasoning classifiers for predicting high risk software components10.1016/S0164-1212(00)00079-0 ↗
31. Software quality estimation with limited fault data: A semi-supervised learning perspective10.1007/s11219-007-9013-8 ↗
32. Catal, C., Sevim, U., and Diri, B. (2009, January 1–3). Software fault prediction of unlabeled program modules. Proceedings of the World Congress on Engineering, London, UK.
33. Yuan, X., Khoshgoftaar, T.M., Allen, E.B., and Ganesan, K. (2000, January 24–25). An application of fuzzy clustering to software quality prediction. Proceedings of the 3rd IEEE Symposium on Application-Specific Systems and Software Engineering Technology, Richardson, TX, USA.
34. A study on software fault prediction techniques10.1007/s10462-017-9563-5 ↗
35. Challagulla, V.U., Bastani, F.B., and Yen, I.L. (2006, January 13–15). A unified framework for defect data analysis using the mbr technique. Proceedings of the 2006 18th IEEE International Conference on Tools with Artificial Intelligence (ICTAI’06), Arlington, VA, USA.10.1109/ICTAI.2006.23 ↗
36. Guo, L., Cukic, B., and Singh, H. (2003, January 6–10). Predicting fault prone modules by the dempster-shafer belief networks. Proceedings of the 18th IEEE International Conference on Automated Software Engineering, Montreal, QC, Canada.
37. Software fault prediction: A literature review and current trends10.1016/j.eswa.2010.10.024 ↗
38. Improving defect prediction with deep forest10.1016/j.infsof.2019.07.003 ↗
39. Quah, T.S., and Thwin, M.M. (2003, January 22–26). Application of neural networks for software quality prediction using object-oriented metrics. Proceedings of the International Conference on Software Maintenance (ICSM 2003), Amsterdam, The Netherlands.
40. Evett, M., Khoshgoftar, T., Chien, P.D., and Allen, E. (1998, January 22–25). GP-based software quality prediction. Proceedings of the Third Annual Conference Genetic Programming, Madison, WI, USA.
41. A symbolic fault-prediction model based on multiobjective particle swarm optimization10.1016/j.jss.2009.12.023 ↗
42. Building effective defect-prediction models in practice10.1109/MS.2005.149 ↗
43. An investigation of imbalanced ensemble learning methods for cross-project defect prediction10.1142/S0218001419590377 ↗
44. Ensemble of software defect predictors: An AHP-based evaluation method10.1142/S0219622011004282 ↗
45. Software defect prediction using relational association rule mining10.1016/j.ins.2013.12.031 ↗
46. Catal, C., and Diri, B. (2007, January 13–15). Software defect prediction using artificial immune recognition system. Proceedings of the 25th conference on IASTED International Multi-Conference: Software Engineering, Innsbruck, Austria.
47. Catal, C., and Diri, B. (2008). A fault prediction model with limited fault data to improve test process. International Conference on Product Focused Software Process Improvement, Springer.10.1007/978-3-540-69566-0_21 ↗
48. Object-oriented software fault prediction using neural networks10.1016/j.infsof.2006.07.005 ↗
49. A Neuro-Based Software Fault Prediction with Box-Cox Power Transformation10.4236/jsea.2017.103017 ↗
50. A review of data mining applications for quality improvement in manufacturing industry10.1016/j.eswa.2011.04.063 ↗
51. Practical development of an Eclipse-based software fault prediction tool using Naive Bayes algorithm10.1016/j.eswa.2010.08.022 ↗
52. Son, L.H., Pritam, N., Khari, M., Kumar, R., Phuong, P.T.M., and Thong, P.H. (2019). Empirical Study of Software Defect Prediction: A Systematic Mapping. Symmetry, 11.10.3390/sym11020212 ↗
53. Empirical assessment of machine learning based software defect prediction techniques10.1142/S0218213008003947 ↗
54. Investigating the effect of dataset size, metrics sets, and feature selection techniques on software fault prediction problem10.1016/j.ins.2008.12.001 ↗
55. Data mining techniques for software defect prediction
56. Least squares twin support vector machines for pattern classification10.1016/j.eswa.2008.09.066 ↗
57. Agarwal, S., and Tomar, D. (2014). A feature selection based model for software defect prediction. Assessment, 65.10.14257/ijast.2014.65.04 ↗
58. Prediction of defective software modules using class imbalance learning
59. A Review on Software Defect Prediction
60. Software Defect Prediction using Data Mining Classification Approach
61. A Framework for Software Defect Prediction and Metric Selection10.1109/ACCESS.2017.2785445 ↗
62. Software defect prediction: Do different classifiers find the same defects?10.1007/s11219-016-9353-3 ↗
63. Turhan, B., and Bener, A.B. (2007, January 22–25). Software Defect Prediction: Heuristics for Weighted Naïve Bayes. Proceedings of the ICSOFT (SE), Barcelona, Spain.
64. Misirli, A.T., and Bener, A.B. (2014, January 3). A mapping study on bayesian networks for software quality prediction. Proceedings of the 3rd International Workshop on Realizing Artificial Intelligence Synergies in Software Engineering, Hyderabad, India.10.1145/2593801.2593803 ↗
65. Supervised machine learning: A review of classification techniques
66. Experiments with a new boosting algorithm
67. Schapire, R.E. (2013). Explaining adaboost. Empirical Inference, Springer.10.1007/978-3-642-41136-6_5 ↗
68. A decision-theoretic generalization of on-line learning and an application to boosting10.1006/jcss.1997.1504 ↗
69. Bagging predictors10.1007/BF00058655 ↗
70. Software defect prediction based on classifiers ensemble
71. Random forests10.1023/A:1010933404324 ↗
72. 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, San Francisco, CA, USA.10.1145/2939672.2939785 ↗
73. Menzies, T., Caglayan, B., Kocaguneli, E., Krall, J., Peters, F., and Turhan, B. (2012, April 01). The Promise Repository of Empirical Software Engineering Data. Available online: http://promise.site.uottawa.ca/SERepositor.
74. Data quality: Some comments on the nasa software defect datasets10.1109/TSE.2013.11 ↗
75. Ghotra, B., McIntosh, S., and Hassan, A.E. (2015, January 16–24). Revisiting the impact of classification techniques on the performance of defect prediction models. Proceedings of the 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering, Florence, Italy.10.1109/ICSE.2015.91 ↗
76. Points of significance: Model selection and overfitting10.1038/nmeth.3968 ↗