SOFTWARE DEFECT PREDICTION MODELS FOR MITIGATING THE RISK OF BUG RECURRENCE IN LINES OF CODES: A SYSTEMATIC REVIEW
Abstract
The custom of recent research in the field of software defect prediction is to display frameworks that provide software quality assurance teams with the ability to concentrate purely on software defect-prone codes. This has enabled software development time and maintenance activities to be managed more efficiently. Previous studies involved intricate software defect prediction datasets and methods. However, more detailed and inclusive insight into the state-of-the-art software defect prediction research method is needed. This systematic literature review aimed at evaluating the trends in the research field, the algorithms deployed, the methods utilised, the datasets used, the feature selection techniques mostly applied, the software metrics used, and the evaluation measures used in software defect prediction studies between 2017 and June 2023. Upon the application of selection and rejection criteria, 104 studies published on software defect prediction from January 2017 to June 2023 were evaluated. It was shown that 82 published articles on software defect prediction applied classification techniques, or about 78% of the total study. Meanwhile, the estimation algorithm accounts for 3% of the published articles on software defect prediction. Association methods have 2%. Clustering methods have four total published articles, with 4%. Finally, data processing has 14 published articles, resulting in 13%. The distribution of datasets used in software defect prediction found that 21 published articles utilised private datasets, a result of about 40%. Public datasets have a total of 32 published articles on software defect prediction, which resulted in 60%. Additionally, it was found that Naïve Bayes dominates the most...
References
Abubakar, S, M., Sufyanu Z. and Miyim, A., M. (2019). Proposed Defect Modelling for Mitigating Correlated Software Metrics. Dutse Journal of Pure and Applied Sciences. Vol. 5 (2b): 76-86.
Abubakar, S., M., Sufyanu Z., and Garko A., B. (2021). Impact of Correlated Software Metrics on Embedded Feature Selection Techniques. International Journal of Information Processing and Communication (IJIPC) Vol. 11 (2) 118-134
Arisholm, E., L. C. Briand, and E. B. Johannessen, (2010) A Systematic and Comprehensive Investigation of Methods to Build and Evaluate Fault Prediction Models, Journal of Systems and Software, vol. 83, no. 1, pp. 217 DOI: https://doi.org/10.1016/j.jss.2009.06.055
Batool, S., & Khan, S. U. (2016). A systematic review of software defect prediction using deep learning techniques. Journal of Systems and Software, 118, 86-107.
Bowes, D., Tracy, H., and Jean, P. (2019). Software defect prediction: do Different Classifiers find the same defects. This article is published with open access at Springerlink.com.
Bunescu R, Ruifang G, Rohit JK, Marcotte EM, Mooney RJ, Ramani AK, Wong YW (2005) Comparative experiments on learning information extractors for proteins and their interactions. Artif Intell Med (special issue on Summarization and Information Extraction from Medical Documents) 2:139155 DOI: https://doi.org/10.1016/j.artmed.2004.07.016
Cai X, Niu Y, Geng S et al (2020) An under-sampled software defect prediction method based on hybrid multi-objective cuckoo search. Concurr Comput. https://doi.org/10.1002/cpe.5478 DOI: https://doi.org/10.1002/cpe.5478
Cawley G, Talbot, C., and Girolami, M. (2007). Sparse Multinomial Logistic Regression via Bayesian L1 Regularization. In: B. Schlkopf, J. C. Platt, and T. Hoffmann (Eds.). Advances in Neural Information Processing Systems, MIT Press, 209216, 2007. DOI: https://doi.org/10.7551/mitpress/7503.003.0031
Chambers, J. M. (1992.) Statistical Models in S. Wadsworth, Pacific Grove, California
Chatterjee, S., and Maji B. (2021). A Mahalanobis Distance based Algorithm for assigning rank to the predicted fault prone software modules. IEEE transaction of science.
Cukic, B., & Singh, H. (2004). Robust Prediction of Fault-Proneness by Random Forests. 15th International Symposium on Software Reliability Engineering, 417428. http://doi.org/10.1109/ISSRE.2004.35 DOI: https://doi.org/10.1109/ISSRE.2004.35
Dam, H.K., Tran, T., Pham, T.T.M., Ng, S.W., Grundy, J., Ghose, A.: (2018). Automatic feature learning for predicting vulnerable software components. IEEE Transactions on Software Engineering
Das, S. (2019). Filters, Wrappers and Boosting-based Hybrid for Feature Selection. Division of Engineering and Applied Science Harvard University, Cambridge, MA 02B8, USA.
Dash, M., H. Liu, and H. Motoda, (2000) Consistency based Feature Selection, in Proceedings of the Pacific-Asia Conference on Knowledge Discovery and Data Mining (PAKDD), pp. 98109. DOI: https://doi.org/10.1007/3-540-45571-X_12
Fan, Guisheng, et al. (2019). Software defect prediction via attention-based recurrent neural network. Sci. Program. 2019. DOI: https://doi.org/10.1155/2019/6230953
Fenton, N. E., & Neil, M. (1999). A critique of software defect prediction models. IEEE Transactions on Software Engineering, 25(5), 675689. http://doi.org/10.1109/32.815326 DOI: https://doi.org/10.1109/32.815326
Ghotra, B., S. Mcintosh, and A. E. Hassan, (2020) A large-scale study of the impact of feature selection techniques on defect classification models, in Proceedings of the 14th International Conference on Mining Software Repositories. IEEE Press, pp. 146157.
Guyon I. and A. Elisseeff, (2003) An Introduction to Variable and Feature Selection, Journal of Machine Learning Research, vol. 3, pp. 1157 1182
Gyimothy, T., Ferenc, R., Siket, I. (2005): Empirical validation of object-oriented metrics on Open-source software for fault prediction. IEEE Transactions on Software engineering 31(10), 897910 DOI: https://doi.org/10.1109/TSE.2005.112
Hall, T., Beecham, S. D., Bowes, Gray, D., and Counsell, S. (1999). A Systematic Literature Review on Fault Prediction Performance in Software Engineering. Transactions on Software Engineering, 38(6):12761304. DOI: https://doi.org/10.1109/TSE.2011.103
Halstead M., H. (1977) Elements of software science. Elsevier Science Ltd., New York Hosseini S, Turhan B, Mantyl M (2017) Search based training data selection for cross project defect prediction. In: ACM international conference proceeding series. Association for Computing Machinery
Hosseini, S. M., Seker, C., & Torkar, G. (2019). A systematic literature review and meta-analysis of cross-project defect prediction studies. Empirical Software Engineering, 21(3), 1027-1062.
Hoque, N., Mihir, S. and Dhruba, K. B. (2018). EFS-MI: an Ensemble Feature Selection Method for Classification. Complex & Intelligent Systems ISSN: 2199-4536.
Jia L. (2019). A Hybrid Feature Selection Method for Software Defect Prediction. IOP Conf. Series: Materials Science and Engineering 394 032035 https://doi.org/10.1088/1757-899X/394/3/032035 DOI: https://doi.org/10.1088/1757-899X/394/3/032035
Jiang Y, Cukic B, Yan M (2008) Techniques for evaluating fault prediction models. Empir Softw Eng J 13(5):561595 DOI: https://doi.org/10.1007/s10664-008-9079-3
Jiarpakdee, J., S., Y., Thongtanunam, P., and Tantithamthavorn, C. (2019). Mining Software Defects: Should We Consider Affected Releases? In Proceedings of the International Conference on Software Engineering (ICSE).
Kalsoom, A., Muazzam, M., and Mustansas, A. S. (2021). A Dimensionality reduction- based efficient software fault production using fisher linear discriminant analysis. http://doi.org/10.1007/s11227-018-2326-5. DOI: https://doi.org/10.1007/s11227-018-2326-5
Kohavi, R. and G. H. John, (1997) Wrappers for Feature Subset Selection, Artificial Intelligence, vol. 97, no. 1-2, pp. 273324, DOI: https://doi.org/10.1016/S0004-3702(97)00043-X
KubatM, Holte RC, Matwin S (1998). Machine learning for the detection of oil spills in satellite radar images. Mach Learn J 30(23):195215 DOI: https://doi.org/10.1023/A:1007452223027
Lal, T., Chapelle, O., Jason, W., and Andrl, E. (2006). Embedded Methods in Isabelle Guyon, Masoud Nikravesh, and Steve Gunn, and Lotfi Zadeh, editors, Feature Extraction, volume 207 of Studies in Fuzziness and Soft Computing, 137165. Springer Berlin / Heidelberg.
Li, L., Lessmann, S., Baesens, B. (2020): Evaluating software defect prediction performance: an updated benchmarking studies. arXiv preprint arXiv:1901.01726 DOI: https://doi.org/10.2139/ssrn.3312070
Lewis D, Gale WA. (1994). A sequential algorithm for training text classifiers. In: Proceedings of the 17th annual international ACM SIGIR conference on research and development in information retrieval, SIGIR 94, New York, NY, USA. Springer, New York, pp 312 DOI: https://doi.org/10.1007/978-1-4471-2099-5_1
Lu, H., E., Kocaguneli, and B. Cukic, (2019) Defect Prediction between Software Versions with Active Learning and Dimensionality Reduction, in Proceedings of the International Symposium on Software Reliability Engineering (ISSRE), pp. 312322.
Malhotra R, Chawla, S.Sharma, A. (2023). Software defect prediction using hybrid techniques: a systematic literature review APPLICATION OF SOFT COMPUTING 27:82558288 https://doi.org/10.1007/s00500-022-07738-w DOI: https://doi.org/10.1007/s00500-022-07738-w
Malhotra R, Khanna M, Raje RR (2017) On the application of search-based techniques for software engineering predictive modeling: a systematic review and future directions. Swarm Evol Comput 32:85109. https://doi.org/10.1016/j.swevo.2016.10.002 DOI: https://doi.org/10.1016/j.swevo.2016.10.002
Malhotra, R.: (2014). Comparative analysis of statistical and machine learning methods for predicting faulty modules. Applied Soft Computing 21, 286297 DOI: https://doi.org/10.1016/j.asoc.2014.03.032
McCabe TJ, Butler CW (1989) Design complexity measurement and testing. Commun ACM 32:14151425. https://doi.org/10.1145/76380.76382 DOI: https://doi.org/10.1145/76380.76382
Mccabe TJ (1976) A complexity measure. IEEE Trans Softw Eng SE 2:308320. https://doi.org/10.1109/TSE.1976.233837 DOI: https://doi.org/10.1109/TSE.1976.233837
McHugh, M., L. (2013) The Chi-square Test of Independence, Biochemia Medica, vol. 23, no. 2, pp. 143149 DOI: https://doi.org/10.11613/BM.2013.018
Menzies, T. (2018). The Unreasonable Effectiveness of Software Analytics, IEEE Software, vol. 35, no. 2, pp. 9698, March 2018. DOI: https://doi.org/10.1109/MS.2018.1661323
Menzies T, Greenwald J, Frank A (2007) Data mining static code attributes to learn defect predictors. IEEE Trans Softw Eng 33(1):213 DOI: https://doi.org/10.1109/TSE.2007.256941
Menzies T, Stefano J, Ammar K, McGill K, Callis P, Davis J, Chapman. (2003). When can we test less? In: Proceedings of 9th international software metrics symposium, pp 98110
Mitchell, T. M., Machine Learning, McGraw Hill, 1997.
Ndega, K. M., Ivayto, G., and Mehat, F. (2019). Performance and cost-effectiveness of change burst metrics in predicting software fault. Springer verlaglando ltd, post of springer Nature.
Olson D (2008) Advanced data mining techniques. Springer, Berlin DOI: https://doi.org/10.1007/978-0-387-74759-0_108
Pachouly, A., Sahin, Y., & Aleti, S. (2016). A systematic mapping study on the use of machine learning and deep learning for software defect prediction. Information and Software Technology, 80, 120-144.
Pandey, S. K., Mishra, R.B., Tripathi A., K. (2021). Machine learning based methods for software fault prediction: A survey. Expert Systems with Applications 172, 114595 DOI: https://doi.org/10.1016/j.eswa.2021.114595
Qiu, Shaojian, et al.(2019). Transfer convolutional neural network for cross-project defect prediction. Appl. Sci. 9 (13), 2660. DOI: https://doi.org/10.3390/app9132660
Radjenovic D, Hericko M, Torkar R, Zivkovic A (2013) Software fault prediction metrics: a systematic literature review. Inf Softw Technol 55(8):13971418 DOI: https://doi.org/10.1016/j.infsof.2013.02.009
Raukas, H. (2017). Some Approaches for Software Defect Prediction. PhD. Dissertation UNIVERSITY OF TARTU Institute of Computer Science Computer Science Curriculum.
Rathore SS, Kumar S (2019) A study on software fault prediction techniques. Artif Intell Rev 51:255327. https://doi.org/10.1007/S10462-017-9563-5/FIGURES/8
Sandri, M., and Zuccolotto, P. (2006). Variable Selection Using Random Forests. In Zani, S. Zani, A., Riani, M. and Vichi (eds.), M. Data Analysis, Classification and the Forward Search, Studies in Classification, Data Analysis, and Knowledge Organization, Springer, 263270. DOI: https://doi.org/10.1007/3-540-35978-8_30
Sharma, G. S. Sharma, and S. Gujral, (2023). A Novel Way of Assessing Software Bug Severity Using Dictionary of Critical Terms, Procedia Comput. Sci., vol. 70, pp. 632639, 2015, https://doi.org/10.1016/j.procs.10.059. DOI: https://doi.org/10.1016/j.procs.2015.10.059
Shepperd, M., Song, Q., Sun, Z., and Mair, C. (2022). Data Quality: Some Comments On the NASA Software Defect Datasets. Transactions on Software Engineering (TSE), 39(9):12081215. DOI: https://doi.org/10.1109/TSE.2013.11
Son LH, Pritam N, Khari M et al (2019) Empirical study of software defect prediction: a systematic mapping. Symmetry 11:212. https://doi.org/10.3390/SYM11020212 DOI: https://doi.org/10.3390/sym11020212
Turabieh H, Mafarja M, Li X (2019) Iterated feature selection algorithms with layered recurrent neural network for software fault prediction. Expert Syst Appl 122:2742. https://doi.org/10.1016/j.eswa.2018.12.033 DOI: https://doi.org/10.1016/j.eswa.2018.12.033
Wang, Y., & Hassan, A. E. (2016). A systematic review of software defect prediction using machine learning techniques. Information and Software Technology, 76, 209-235.
Xu, Z. J. Liu, Z. Yang, G. An, and X. Jia, (2020) The Impact of Feature Selection on Defect Prediction Performance: An Empirical Comparison, in Proceedings of the International Symposium on Software Reliability Engineering (ISSRE), 2020, pp. 309320
Yang X, Yu H, Fan G, Yang K (2020) A differential evolution-based approach for effort-aware just-in-Time software defect prediction. In: Proceedings of the 1st ACM SIGSOFT international workshop on representation learning for software engineering and program languages. Association for Computing Machinery, Inc, pp 1316 DOI: https://doi.org/10.1145/3416506.3423577
Yang, X., Lo, D., Xia, X., Zhang, Y., Sun, J.: Deep learning for just-in-time defect prediction. In: 2015 IEEE International Conference on Software Quality, Reliability and Security. pp.1726. IEEE (2020) DOI: https://doi.org/10.1109/QRS.2015.14
Yatish, Suraj, et al., 2019. Mining software defects: should we consider affected releases? In: 2019 IEEE/ACM 41st International Conference on Software Engineering. ICSE, IEEE. DOI: https://doi.org/10.1109/ICSE.2019.00075
Yousef W, Wagner R, Loew M., (2004). Comparison of non-parametric methods for assessing classifier performance in terms of roc parameters. In: Proceedings of international symposium on information theory, 2004. ISIT 2004, pp 190195 DOI: https://doi.org/10.1109/AIPR.2004.18
Youden WJ (1950) Index for rating diagnostic tests. Cancer 3(1):3235 DOI: https://doi.org/10.1002/1097-0142(1950)3:1<32::AID-CNCR2820030106>3.0.CO;2-3
Zhang, H., & Xie, T. (2020). A novel software defect prediction model based on deep belief networks and ensemble learning. Information and Software Technology, 76, 130-144.
Zou, H., and Hastie, T. (2005). Regularization and variable selection via the elastic Net Journal of the Royal Statistical Society: Series B (Statistical Methodology), 67(2):301320. DOI: https://doi.org/10.1111/j.1467-9868.2005.00503.x
Copyright (c) 2025 FUDMA JOURNAL OF SCIENCES

This work is licensed under a Creative Commons Attribution 4.0 International License.
FUDMA Journal of Sciences