Generic placeholder image

Recent Advances in Computer Science and Communications

Editor-in-Chief

ISSN (Print): 2666-2558
ISSN (Online): 2666-2566

Systematic Review Article

Cognitive Inherent SLR Enabled Survey for Software Defect Prediction

Author(s): Anurag Mishra* and Ashish Sharma

Volume 17, Issue 5, 2024

Published on: 20 December, 2023

Article ID: e201223224374 Pages: 11

DOI: 10.2174/0126662558243958231207094823

Price: $65

Abstract

Introduction: Any software is created to help automate manual processes most of the time. It is expected from the developed software that it should perform the tasks it is supposed to do.

Methods: More formally, it should work in a deterministic manner. Further, it should be capable of knowing if any provided input is not in the required format. Correctness of the software is inherent virtue that it should possess. Any remaining bug during the development phase would hamper the application's correctness and impact the software's quality assurance. Software defect prediction is the research area that helps the developer to know bug-prone areas of the developed software.

Results: Datasets are used using data mining, machine learning, and deep learning techniques to achieve study. A systematic literature survey is presented for the selected studies of software defect prediction.

Conclusion: Using a grading mechanism, we calculated each study's grade based on its compliance with the research validation question. After every level, we have selected 54 studies to include in this study.

Graphical Abstract

[1]
R. Malhotra, "A systematic review of machine learning techniques for software fault prediction", Appl. Soft Comput., vol. 27, no. C, pp. 504-518, 2015.
[http://dx.doi.org/10.1016/j.asoc.2014.11.023]
[2]
A. Khalid, G. Badshah, N. Ayub, M. Shiraz, and M. Ghouse, "Software defect prediction analysis using machine learning techniques", Sustainability, vol. 15, no. 6, p. 5517, 2023.
[http://dx.doi.org/10.3390/su15065517]
[3]
Information Resources Management Association and Information Resources Management Association, Comput. Syst. Soft. Eng.: Concepts, Methodologies, Tools, and Applications., 1st ed IGI Global: USA, 2017.
[4]
H. Turabieh, M. Mafarja, and X. Li, "Iterated feature selection algorithms with layered recurrent neural network for software fault prediction", Exp. Syst. Appl., vol. 122, pp. 27-42, 2019.
[http://dx.doi.org/10.1016/j.eswa.2018.12.033]
[5]
D. Radjenović, M. Heričko, R. Torkar, and A. Živkovič, "Software fault prediction metrics: A systematic literature review", Inf. Softw. Technol., vol. 55, no. 8, pp. 1397-1418, 2013. [Review of Software fault prediction metrics : A systematic literature review]. [http://dx.doi.org/10.1016/j.infsof.2013.02.009
[6]
C. Manjula, and L. Florence, "Deep neural network based hybrid approach for software defect prediction using software metrics", Cluster Comput., vol. 22, no. S4, suppl. Suppl. 4, pp. 9847-9863, 2019.
[http://dx.doi.org/10.1007/s10586-018-1696-z]
[7]
C. Catal, and B. Diri, "A systematic review of software fault prediction studies", Exp. Syst. Appl., vol. 36, no. 4, pp. 7346-7354, 2009.
[http://dx.doi.org/10.1016/j.eswa.2008.10.027]
[8]
S. Kanmani, V. Rhymend Uthariaraj, V. Sankaranarayanan, and P. Thambidurai, "Thambidurai,Object-oriented software fault prediction using neural networks", Informat. Soft. Technol., vol. 49, no. 58, pp. 483-492, 2007.
[http://dx.doi.org/10.1016/j.infsof.2006.07.005]
[9]
G. Abaei, and A. Selamat, "Increasing the accuracy of software fault prediction using majority ranking fuzzy clustering", In: R. Lee, Ed., Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing. Studies in Computational Intelligence., vol. 569. Springer: Cham, 2015.
[http://dx.doi.org/10.1007/978-3-319-10389-1_13]
[10]
G.R. Choudhary, S. Kumar, K. Kumar, A. Mishra, and C. Catal, "Empirical analysis of change metrics for software fault prediction", Comput. Electr. Eng., vol. 67, pp. 15-24, 2018.
[http://dx.doi.org/10.1016/j.compeleceng.2018.02.043]
[11]
I. Arora, and A. Saha, "Software fault prediction using firefly algorithm", Int J Intell Eng Inf, vol. 6, no. 3-4, pp. 356-377, 2018.
[12]
P. Sandhu, "A K-means based clustering approach for finding faulty modules in open source software systems.world academy of science, engineering and technology, international journal of computer, electrical, automation", Control and Information Engineering, vol. 4, pp. 1897-1901, 2010.
[13]
C.W. Yohannese, "Ensembles based combined learning for improved software fault prediction: A comparative study", 12th International Conference on Intelligent Systems and Knowledge Engineering, pp. 1-6, 2017.
[14]
T.A.K. Iqra Batool, "Software fault prediction using data mining, machine learning and deep learning techniques: A systematic literature", Computers and Electrical Engineering, vol. 100, 2022.
[15]
S.S. Rathore, and S. Kumar, "An empirical study of ensemble techniques for software fault prediction", Appl. Intell., vol. 51, no. 6, pp. 3615-3644, 2021.
[http://dx.doi.org/10.1007/s10489-020-01935-6]
[16]
W. Liu, S. Liu, Q. Gu, J. Chen, X. Chen, and D. Chen, "Empirical studies of a two-stage data preprocessing approach for software fault prediction", IEEE Trans. Reliab., vol. 65, no. 1, pp. 38-53, 2016.
[http://dx.doi.org/10.1109/TR.2015.2461676]
[17]
V.H.S. Durelli, R.S. Durelli, S.S. Borges, A.T. Endo, M.M. Eler, D.R.C. Dias, and M.P. Guimaraes, "Machine learning applied to software testing: A systematic mapping study", IEEE Trans. Reliab., vol. 68, no. 3, pp. 1189-1212, 2019.
[http://dx.doi.org/10.1109/TR.2019.2892517]
[18]
H. Cao, "A systematic study for learning-based software defect prediction", J. Phys. Conf. Ser., vol. 1487, no. 1, p. 012017, 2020.
[http://dx.doi.org/10.1088/1742-6596/1487/1/012017]
[19]
O. Karim, "Predicting defect-prone software modules using support vector machines", J. Syst. Softw., vol. 81, no. 5, pp. 649-660, 2008.
[20]
G. Giray, K.E. Bennin, Ö. Köksal, Ö. Babur, and B. Tekinerdogan, "On the use of deep learning in software defect prediction", J. Syst. Softw., vol. 195, p. 111537, 2023.
[http://dx.doi.org/10.1016/j.jss.2022.111537]
[21]
R. Özakıncı, and A. Tarhan, "Early software defect prediction: A systematic map and review", J. Syst. Soft., vol. 144, pp. 216-239, 2018.
[http://dx.doi.org/10.1016/j.jss.2018.06.025]
[22]
W. Eric Wong, X. Li, and A. Philip, "Laplante, Be more familiar with our enemies and pave the way forward: A review of the roles bugs played in software failures", J. Syst. Softw., vol. 133, pp. 68-94, 2017.
[23]
Z. Xu, S. Li, J. Xu, J. Liu, X. Luo, Y. Zhang, and T. Zhang, "Learning deep feature representation for software defect prediction", J. Syst. Soft., vol. 158, pp. 0164-1212, 2019.
[24]
Z. Zhao, B. Yang, G. Li, H. Liu, and Z. Jin, "Precise learning of source code contextual semantics via hierarchical dependence structure and graph attention networks", J. Syst. Soft., vol. 184, pp. 0164-1212, 2022.
[http://dx.doi.org/10.1016/j.jss.2021.111108]
[25]
O. Barbara Kitchenham, "Stephen Linkman,Systematic literature reviews in software engineering – A systematic literature review", Informat. Soft. Technol., vol. 51, no. 1, pp. 7-15, 2009.
[http://dx.doi.org/10.1016/j.infsof.2008.09.009]
[26]
J. Zheng, "Cost-sensitive boosting neural networks for software defect prediction", Expert Syst. Appl., vol. 37, no. 6, pp. 4537-4543, 2010.
[http://dx.doi.org/10.1016/j.eswa.2009.12.056]
[27]
M. Li, H. Zhang, R. Wu, and Z.H. Zhou, "Sample-based software defect prediction with active and semi-supervised learning", Autom. Softw. Eng., vol. 19, no. 2, pp. 201-230, 2012.
[http://dx.doi.org/10.1007/s10515-011-0092-1]
[28]
Ö.F. Arar, and K. Ayan, "Software defect prediction using cost-sensitive neural network", Appl. Soft Comput., vol. 33, pp. 263-277, 2015.
[http://dx.doi.org/10.1016/j.asoc.2015.04.045]
[29]
R. Malhotra, and A. Jain, "Fault prediction using statistical and machine learning methods for improving software quality", J. Informat. Process. Syst., vol. 8, no. 2, pp. 241-262, 2012.
[http://dx.doi.org/10.3745/JIPS.2012.8.2.241]
[30]
G. Czibula, Z. Marian, and I.G. Czibula, "Software defect prediction using relational association rule mining", Inf. Sci., vol. 264, pp. 260-278, 2014.
[http://dx.doi.org/10.1016/j.ins.2013.12.031]
[31]
X. Cai, Y. Niu, S. Geng, J. Zhang, Z. Cui, J. Li, and J. Chen, "An undersampled software defect prediction method based on hybrid multiobjective", cuckoo search., vol. 35, no. 25, 2020.
[http://dx.doi.org/10.1002/cpe.5478]
[32]
C. Catal, U. Sevim, and B. Diri, "Practical development of an Eclipse-based software fault prediction tool using Naive Bayes algorithm", Elsevier Exp. Syst. App., vol. 38, no. 3, pp. 2347-2353, 2011.
[http://dx.doi.org/10.1016/j.eswa.2010.08.022]
[33]
C. Jin, and S-W. Jin, "Prediction approach of software fault-proneness based on hybrid artificial neural network and quantum particle swarm optimization", Appl. Soft. Com., vol. 35, pp. 717-725, 2015.
[http://dx.doi.org/10.1016/j.asoc.2015.07.006]
[34]
X. Deng, R. Yuan, Z. Xiao, T. Li, and K.L.L. Wang, "Fault location in loop distribution network using SVM technology", Int. J. Electr. Power Energy Syst., vol. 65, pp. 254-261, 2015.
[http://dx.doi.org/10.1016/j.ijepes.2014.10.010]
[35]
S. Wang, T. Liu, J. Nam, and L. Tan, "Deep semantic feature learning for software defect prediction", IEEE Trans. Softw. Eng., vol. 46, no. 12, pp. 1267-1293, 2020.
[http://dx.doi.org/10.1109/TSE.2018.2877612]
[36]
A.O. Balogun, S. Basri, S.J. Abdulkadir, and A.S. Hashim, "Performance analysis of feature selection methods in software defect prediction: A search method approach", Appl. Sci., vol. 9, no. 13, p. 2764, 2019.
[http://dx.doi.org/10.3390/app9132764]
[37]
S.L. Abebe, V. Arnaoudova, P. Tonella, G. Antoniol, and Y-G. Guéhéneuc, "Can Lexicon Bad Smells Improve Fault Prediction?", In 2012 19th Working Conference on Reverse Engineering
15-18 October 2012 Kingston, ON, Canada, 2012, pp. 235-244 [http://dx.doi.org/10.1109/WCRE.2012.33]
[38]
Jinsheng Ren, Ke Qin, Ying Ma, and Guangchun Luo, "On software defect prediction using machine learning", J. Appl. Mathe., 2014.
[http://dx.doi.org/10.1155/2014/785435]
[39]
C. Jin, S.W. Jin, and J.M. Ye, "Artificial neural network-based metric selection for software fault-prone prediction model", IET Softw., vol. 6, no. 6, pp. 479-487, 2012.
[http://dx.doi.org/10.1049/iet-sen.2011.0138]
[40]
G. Fan, X. Diao, H. Yu, K. Yang, and L. Chen, "Software defect prediction via attention-based recurrent neural network", Sci. Prog., 2019.
[http://dx.doi.org/10.1155/2019/6230953]
[41]
J. Chen, S. Liu, W. Liu, X. Chen, Q. Gu, and D. Chen, "A two-stage data preprocessing approach for software fault prediction", IJSR, vol. 6, no. 7, 2017.
[42]
Lianipng Chen, Muhammad Ali Babar, and He Zhang, "Towards an Evidence-Based Understanding of Electronic Data Sources", In 14th International Conference on Evaluation and Assessment in Software Engineering (EASE) (EASE) 12 - 13 April 2010
[http://dx.doi.org/10.14236/ewic/EASE2010.17]
[43]
T. Hall, and D. Bowes, "The state of machine learning methodology in software fault prediction", In 2012 11th International Conference on Machine Learning and Applications
12-15 December 2012, Boca Raton, FL, USA, 2012, pp. 308-313, [http://dx.doi.org/10.1109/ICMLA.2012.226]
[44]
X. Rong, F. Li, and Z. Cui, "A model for software defect prediction using support vector machine based on CBA", Int. J. Intell. Syst. Technol. Appl., vol. 15, no. 1, pp. 19-34, 2016.
[http://dx.doi.org/10.1504/IJISTA.2016.076102]
[45]
M. Akour, M. Alenezi, and H. Alsghaier, "Software refactoring prediction using svm and optimization algorithms", Processes, vol. 10, no. 8, p. 1611, 2022.
[http://dx.doi.org/10.3390/pr10081611]
[46]
T. Zhou, X. Sun, X. Xia, B. Li, and X. Chen, "Improving defect prediction with deep forest", Inf. Softw. Technol., vol. 114, pp. 204-216, 2019.
[http://dx.doi.org/10.1016/j.infsof.2019.07.003]
[47]
Y. Abdi, S. Parsa, and Y. Seyfari, "A hybrid one-class rule learning approach based on swarm intelligence for software fault prediction", Innov. Syst. Softw. Eng., vol. 11, no. 4, pp. 289-301, 2015.
[http://dx.doi.org/10.1007/s11334-015-0258-2]
[48]
Z. Wang, W. Tong, P. Li, G. Ye, H. Chen, X. Gong, and Z. Tang, "BugPre: an intelligent software version-to-version bug prediction system using graph convolutional neural networks", Complex & Intelligent Systems, vol. 9, no. 4, pp. 3835-3855, 2023.
[http://dx.doi.org/10.1007/s40747-022-00848-w]
[49]
Q. Cao, Q. Sun, Q. Cao, and H. Tan, "Software defect prediction via transfer learning based neural network", In 2015 First International Conference on Reliability Systems Engineering (ICRSE)
21-23 October 2015, Beijing, China, 2015, pp. 1-10, [http://dx.doi.org/10.1109/ICRSE.2015.7366475]
[50]
A. Shanthini, and R.M. Chandrasekaran, "Analyzing the effect of bagged ensemble approach for software fault prediction in class level and package level metrics", In International Conference on Information Communication and Embedded Systems (ICICES2014), 2014, pp. 1-5
[http://dx.doi.org/10.1109/ICICES.2014.7033809]
[51]
D. Sharma, and P. Chandra, Software fault prediction using machine-learning techniques.Smart computing and informatics., Springer, 2018, pp. 541-549.
[http://dx.doi.org/10.1007/978-981-10-5547-8_56]
[52]
R. Rana, M. Staron, C. Berger, J. Hansson, M. Nilsson, and W. Meding, "The adoption of machine learning techniques for software defect prediction: An initial", Joint Conference on Knowledge-Based Software Engineering, pp. 270-285, 2014.
[53]
R.A. Coelho, F.R.N. Guimarães, and A.A.A. Esmin, "Applying swarm ensemble clustering technique for fault prediction using software metrics", In 2014 13th International Conference on Machine Learning and Applications
03-06 December 2014MI, USA, 2014, pp. 356-361, [http://dx.doi.org/10.1109/ICMLA.2014.63]
[54]
T. Sethi, "Gagandeep. Improved approach for software defect prediction using artificial neural networks", In In: 2016 5th international conference on reliability, 2016.
[55]
D. Kaur, A. Kaur, S. Gulati, and M. Aggarwal, "A clustering algorithm for software fault prediction", In 2010 International Conference on Computer and Communication Technology (ICCCT)
17-19 September 2010, Allahabad, India, 2010, pp. 603-607 [http://dx.doi.org/10.1109/ICCCT.2010.5640474]
[56]
F. Wu, Empirical Validation of Object-Oriented Metrics on NASA for Fault Prediction.Advances in Information Technology and Education. Communications in Computer and Information Science., vol. Vol. 201. Springer: Berlin, Heidelberg, 2011.
[http://dx.doi.org/10.1007/978-3-642-22418-8_25]
[57]
K.K. Bejjanki, J. Gyani, and N. Gugulothu, "Class imbalance reduction (CIR): A novel approach to software defect prediction in the presence of class imbalance", Symmetry, vol. 12, no. 3, p. 407, 2020.
[http://dx.doi.org/10.3390/sym12030407]
[58]
T.T. Khuat, and M.H. Le, "Ensemble learning for software fault prediction problem with imbalanced data", International Journal of Electrical and Computer Engineering (IJECE), vol. 9, no. 4, p. 3241, 2019.
[http://dx.doi.org/10.11591/ijece.v9i4.pp3241-3246]
[59]
H. Wei, C. Shan, C. Hu, H. Sun, and M. Lei, "Software defect distribution prediction model based on NPE-SVM", China Commun., vol. 15, no. 5, pp. 173-182, 2018.
[http://dx.doi.org/10.1109/CC.2018.8387996]
[60]
M. Shepperd, D. Bowes, and T. Hall, "Researcher bias: The use of machine learning in software defect prediction", IEEE Trans. Softw. Eng., vol. 40, no. 6, pp. 603-616, 2014.
[http://dx.doi.org/10.1109/TSE.2014.2322358]
[61]
L. Chen, B. Fang, and Z. Shang, "Software fault prediction based on one-class SVM", In 2016 International Conference on Machine Learning and Cybernetics (ICMLC)
10-13 July 2016, Jeju, Korea (South), 2016, pp. 1003-1008, [http://dx.doi.org/10.1109/ICMLC.2016.7873016]
[62]
I. Batool, and T.A. Khan, "Software fault prediction using data mining, machine learning and deep learning techniques: A systematic literature review", Comput. Electr. Eng., vol. 100, p. 107886, 2022.
[http://dx.doi.org/10.1016/j.compeleceng.2022.107886]
[63]
A. Balaram, and S. Vasundra, "Prediction of software fault-prone classes using ensemble random forest with adaptive synthetic sampling algorithm", Autom. Softw. Eng., vol. 29, no. 1, p. 6, 2022.
[http://dx.doi.org/10.1007/s10515-021-00311-z]
[64]
Z. Sun, Q. Song, and X. Zhu, "Using coding-based ensemble learning to improve software defect prediction, IEEE Trans. Syst. Man Cybern. C Appl", Rev., vol. 42, no. 6, pp. 1806-1817, 2012.
[65]
F. Lv, C. Wen, Z. Bao, and M. Liu, "Fault diagnosis based on deep learning", In 2016 American control conference IEEE
year, 2016, pp.6851-6856 [http://dx.doi.org/10.1109/ACC.2016.7526751]
[66]
P. Singh, N.R. Pal, S. Verma, and O.P. Vyas, "Fuzzy rule-based approach for software fault prediction", IEEE Trans. Syst. Man Cybern. Syst., vol. 47, no. 5, pp. 826-837, 2017.
[http://dx.doi.org/10.1109/TSMC.2016.2521840]
[67]
Y. Singh, A. Kaur, and R. Malhotra, "Empirical validation of object-oriented metrics for predicting fault proneness models", Softw. Qual. J., vol. 18, no. 1, pp. 3-35, 2010.
[http://dx.doi.org/10.1007/s11219-009-9079-6]
[68]
R. Malhotra, and Y. Singh, "On the applicability of machine learning techniques for object oriented software fault prediction", Softw Eng Int J, vol. 1, no. 1, pp. 24-37, 2011.
[69]
D. Mundada, A. Murade, O. Vaidya, and J. Swathi, "Software fault prediction using artificial neural network and resilient back propagation", IJSE, vol. 5, no. 3, 2016.
[70]
P. Zhang, and Y-t. Chang, "Software fault prediction based on grey neural network", In 2012 8th International Conference on Natural Computation
29-31 May 2012, Chongqing, China, 2012, pp. 466-469, [http://dx.doi.org/10.1109/ICNC.2012.6234505]
[71]
O. Al Qasem, and M. Akour, "Software fault prediction using deep learning algorithms", Int. J. Open Source Softw. Process., vol. 10, no. 4, pp. 1-19, 2019.
[IJOSSP]. [http://dx.doi.org/10.4018/IJOSSP.2019100101]
[72]
W. Rhmann, and G.A. Ansari, "Ensemble techniques-based software fault prediction in an open-source project", Int. J. Open Source Softw. Process., vol. 11, no. 2, pp. 33-48, 2020.
[http://dx.doi.org/10.4018/IJOSSP.2020040103]
[73]
O. Al Qasem, M. Akour, and M. Alenezi, "The influence of deep learning algorithms factors in software fault prediction", EEE Access, vol. 8, pp. 63945-63960, 2020.
[http://dx.doi.org/10.1109/ACCESS.2020.2985290]
[74]
J. Chen, K. Hu, Y. Yu, Z. Chen, Q. Xuan, Y. Liu, and V. Filkov, "Software visualization and deep transfer learning for effective software defect prediction", In ICSE '20: Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering
June 2020Pages 578–589 [http://dx.doi.org/10.1145/3377811.3380389]
[75]
J. Chen, K. Hu, Y. Yang, Y. Liu, and Q. Xuan, "Collective transfer learning for defect prediction", Neurocomputing, vol. 416, pp. 103-116, 2020.
[http://dx.doi.org/10.1016/j.neucom.2018.12.091]
[76]
S.P. Siregar, and A. Wanto, "Analysis of artificial neural network accuracy using backpropagation algorithm in predicting process (forecasting)", Int. J. Inf. Syst. Technol., vol. 1, no. 1, pp. 34-42, 2017.
[International Journal of Information System and Technology [http://dx.doi.org/10.30645/ijistech.v1i1.4]
[77]
P. Ajmera, A. Kharat, R. Botchu, H. Gupta, and V. Kulkarni, "Real-world analysis of artificial intelligence in musculoskeletal trauma", J. Clin. Orthop. Trauma, vol. 22, p. 101573, 2021.
[http://dx.doi.org/10.1016/j.jcot.2021.101573] [PMID: 34527511]
[78]
T. Hall, S. Beecham, D. Bowes, D. Gray, and S. Counsell, "A systematic literature review on fault prediction performance in software engineering", IEEE Trans. Softw. Eng., vol. 38, no. 6, pp. 1276-1304, 2012.
[http://dx.doi.org/10.1109/TSE.2011.103]

Rights & Permissions Print Cite
© 2024 Bentham Science Publishers | Privacy Policy