Abstract
Software defect prediction has achieved considerable salability in the last years. Defect prediction is the first important step in dependability assessment of complex software systems, because it can immediately be impacted on the dependability of those systems, improves performance, and decreases the software cost. Among the most important approaches used primarily in software defect prediction are the algorithms of machine learning classification. In this research, LMT machine learning and deep learning algorithms are presented for the software bug prediction model process on a general dataset obtained by a combination of several datasets for four open-source software and applications. These are Linux kernel, MySQL DBMS, Apache HTTPD web server, and Apache AXIS WS. A new dataset has represented four defect classes: Bohrbug, Mandelbug, Aging-Related Bug, and Unknown bugs. The new classification approach depends on defect location in OSSs. The system behavior is categorized to assess system dependability in the future. Performance measurement is implemented in JAVA using NETBEANS version 8.0.2 for LMT classifier and in Python for Deep Learning classifier. In the results of experiments, fault predictors using the DNN classifier perform better than LMT, where accuracy weighted average for each class using the LMT classifier is 0.849, while accuracy weighted average for each class using DNN is 0.87.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Naidu MS, Geethanjali N (2013) Classification of defects in software using decision tree algorithm. Int J Eng Sci Technol 5(6):1332
Okutan A (2012) Software defect prediction using bayesian networks and kernel methods. ISIK University
Carrozza G, Cotroneo D, Natella R, Pietrantuono R, Russo S (2013) Analysis and prediction of mandelbugs in an industrial software system. In: 2013 IEEE sixth international conference on software testing verification and validation IEEE, pp 262–271
Du X, Zheng Z, Xiao G, Yin B (2017) The automatic classification of fault trigger based bug report. In: 2017 IEEE international symposium on software reliability engineering workshops (ISSREW), IEEE, pp 259–265
Singh P, Verma S (2014) An efficient software fault prediction model using cluster based classification. Int J Appl Inf Syst 7(3):35–41
Breier J, Hou X, Jap D, Ma L, Bhasin S, Liu Y (2018) Experimental evaluation of deep neural network resistance against fault injection attacks. In: Presented at the ACM SIGSAC conference on computer and communications security (CCS), Singapore
Irrera I (2016) Fault injection for online failure prediction assessment and improvement
Hammouri A, Hammad M, Alnabhan M, Alsarayrah F (2018) Software bug prediction using machine learning approach. IJACSA) Int J Adv Comput Sci Appl 9(2)
Avizienis A, Laprie J-C, Randell B (2001) Fundamental concepts of dependability. University of Newcastle upon Tyne, Computing Science
Natella R, Cotroneo D, Madeira HS (2016) Assessing dependability with software fault injection: a survey. ACM Comput Surv (CSUR) 48(3):44
Tamura Y, Yamada S (2017) Reliability and maintainability analysis and its tool based on deep learning for fault big data. In 2017 6th international conference on reliability, infocom technologies and optimization (Trends and Future Directions) (ICRITO), IEEE, pp 106–111
Ketkar N (2017) In: Deep Learning with Python. Springer
Aggarwal CC (2018) An Introduction to neural networks. IBM T J Watson Research Center, Yorktown Heights, NY
Frank E, Hall MA, Witten IH (2016) The WEKA Workbench. Online Appendix for “Data Mining: Practical Machine Learning Tools and Techniques”, (2016)
Alexei B (2018) Performance metrics (error measures) in machine learning regression, forecasting and prognostics: properties and typology. arXiv preprint arXiv:1809.03006
Ma L, Zhang F, Sun J, Li B, Juefei-Xu F, Li L (2018) DeepMutation: mutation testing of deep learning systems. 14(8)
Khosrowjerdi H, Meinke K, Rasmusson A (2018) Virtualized-fault injection testing: A machine learning approach. In: 2018 IEEE 11th international conference on software testing, verification and validation (ICST), IEEE, pp 297–308
Landwehr N, Hall M, Frank E (2005) Logistic model trees. Mach Learn 59(1–2):161–205
Nwankpa C, Ijomah W, Gachagan A, Marshall S (2018) Activation functions: comparison of trends in practice and research for deep learning, vol 8
Chillarege R et al (1992) Orthogonal defect classification-a concept for in-process measurements. IEEE Trans Softw Eng 11:943–956
Grottke M, Nikora AP, Trivedi KS (2010) An empirical investigation of fault types in space mission system software. In: 2010 IEEE/IFIP international conference on dependable systems and networks (DSN), IEEE, pp 447–456
Shooman ML (2015) Software reliability growth model based on Bohrbugs and Mandelbugs. In: 2015 IEEE 26th international symposium on software reliability engineering (ISSRE), IEEE, pp 381–386
Ding J, Tarokh V, Yang Y (2018) Model selection techniques: an overview. IEEE Signal Process Mag 35(6):16–34
Acknowledgements
The authors are thankful to the Department of Computer Science, Collage of Science, Mustansiriyah University, and Informatics Institute for Postgraduate Studies, for supporting this work.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2021 Springer Nature Singapore Pte Ltd.
About this paper
Cite this paper
Alazawi, S.A., Salam, M.N.A. (2021). Evaluation of LMT and DNN Algorithms in Software Defect Prediction for Open-Source Software. In: Kumar, R., Quang, N.H., Kumar Solanki, V., Cardona, M., Pattnaik, P.K. (eds) Research in Intelligent and Computing in Engineering. Advances in Intelligent Systems and Computing, vol 1254. Springer, Singapore. https://doi.org/10.1007/978-981-15-7527-3_19
Download citation
DOI: https://doi.org/10.1007/978-981-15-7527-3_19
Published:
Publisher Name: Springer, Singapore
Print ISBN: 978-981-15-7526-6
Online ISBN: 978-981-15-7527-3
eBook Packages: Intelligent Technologies and RoboticsIntelligent Technologies and Robotics (R0)