Abstract
When it comes to software development, precise planning, proper documentation and proper process control, some errors are inevitable in the software environment. These software flaws can lead to quality deterioration, which can be the main reason behind system failure. As the whole world especially developing countries is dependent upon software systems, it is very important to focus on its reliability aspect. Nowadays sophisticated systems require concerted efforts for managing and reducing the shortcomings in software engineering. But, these efforts require more cost, more money and more time. Software error prediction is the most helpful step in the testing stage of the software development life cycle. It identifies components or parts of the code where an error may occur and requires broad testing, so the test resources can be efficiently used. Software error assessment reduces efforts of testing the software by helping the software testers locate the actual problem and classify different classes of errors in the system. Error estimators are majorly used in various organizations to evaluate the software to save time, improve the quality of software and testing and optimize resources to meet timelines. Machine learning provides support in fault projection by collecting the training data from various edge devices and thus helps in escalating the reliability of the software available on Kaggle. The multilayer perceptron shows better results in precision, recall, F1 score and accuracy as compared to decision tree and Gaussian Naive Bayes as it achieves an accuracy of 96.8%.
Similar content being viewed by others
References
Wang, Z., Li, B., & Ma, Y. (2014). An analysis of research in software engineering: assessment and trends. 1–25.
Kolli, R. (2016). An empirical study on software test estimation. 2014, 96–106.
Son LH, Pritam N, Khari M, Kumar R, Phuong PT, Thong PH (2019) Empirical study of software defect prediction: a systematic mapping. Symmetry 11(2):212
Wahono RS, Herman NS (2014) Genetic feature selection for software defect prediction. Adv Sci Lett 20(1):239–244
Sethi, T., & Gagandeep. (2016). Improved approach for software defect prediction using artificial neural networks. In: 2016 5th International Conference on Reliability, Infocom Technologies and Optimization, ICRITO 2016: Trends and Future Directions, 480–485
Juneja, S., Juneja, A., & Anand, R. (2019, April). Reliability modeling for embedded system environment compared to available software reliability growth models. In: 2019 International Conference on Automation, Computational and Technology Management (ICACTM) (pp. 379–382). IEEE
Seliya, N., Khoshgoftaar, T. M., & Van Hulse, J. (2010, November). Predicting faults in high assurance software. In: 2010 IEEE 12th international symposium on high assurance systems engineering (pp. 26–34). IEEE.
Uppal M, Gupta D, Mahmoud A, Elmagzoub MA, Sulaiman A, Reshan MSA, Juneja S (2023) Fault prediction recommender model for IoT enabled sensors based workplace. Sustainability 15(2):1060
Singh Y, Kaur A, Malhotra R (2010) Empirical validation of object-oriented metrics for predicting fault proneness models. Software Qual J 18(1):3–35
Doval, D., Mancoridis, S., & Mitchell, B. S. (1999, September). Automatic clustering of software systems using a genetic algorithm. In: STEP'99. Proceedings Ninth International Workshop Software Technology and Engineering Practice (pp. 73–81). IEEE
Berndt, D., Fisher, J., Johnson, L., Pinglikar, J., & Watkins, A. (2003, January). Breeding software test cases with genetic algorithms. In: 36th Annual Hawaii International Conference on System Sciences, 2003. Proceedings of the (pp. 10-pp). IEEE.
Li Z, Harman M, Hierons RM (2007) Search algorithms for regression test case prioritization. IEEE Trans Softw Eng 33(4):225–237
Tian L, Noore A (2005) Evolutionary neural network modeling for software cumulative failure time prediction. Reliab Eng Syst Saf 87(1):45–51
Birt, J. R., & Sitte, R. (2005, December). Identifying error proneness in path strata with genetic algorithms. In: 12th Asia-Pacific Software Engineering Conference (APSEC'05) (pp. 8-pp). IEEE
Hochman, R., Khoshgoftaar, T. M., Allen, E. B., & Hudepohl, J. P. (1996, October). Using the genetic algorithm to build optimal neural networks for fault-prone module detection. In: Proceedings of ISSRE'96: 7th International Symposium on Software Reliability Engineering (pp. 152–162). IEEE
Tian L, Noore A (2005) On-line prediction of software reliability using an evolutionary connectionist model. J Syst Softw 77(2):173–180
Fan G, Diao X, Yu H, Yang K, Chen L (2019) 2019. Software defect prediction via attention-based recurrent neural network, Scientific programming
Nagappan, N., Murphy, B., & Basili, V. R. (2008). The influence of organizational structure on software quality: An empirical case study. In: Proceedings International Conference on Software Engineering, 521–530.
Rahman, M. H., Sharmin, S., Sarwar, S. M., & Shoyaib, M. (2016). Software defect prediction using feature space transformation. In: ACM International Conference Proceeding Series, 22–23-Marc.
Wang, H., Khoshgoftaar, T. M., & Seliya, N. (2011). How many software metrics should be selected for defect prediction? In: Proceedings of the 24th International Florida Artificial Intelligence Research Society, FLAIRS - 24, Mi, 69–74.
Agrawal A, Malhotra R (2019) Cross project defect prediction for open source software. Int J Inf Technol 14(1):1–15
Wang TY, Huang CY (2007) Applying optimized BPN to a chaotic time series problem. Expert Syst Appl 32(1):193–200
Lin SW, Chen SC, Wu WJ, Chen CH (2009) Parameter determination and feature selection for back-propagation network by particle swarm optimization. Knowl Inf Syst 21(2):249–266
Ko YD, Moon P, Kim CE, Ham MH, Myoung JM, Yun I (2009) Modeling and optimization of the growth rate for ZnO thin films using neural networks and genetic algorithms. Expert Syst Appl 36(2):4061–4066
Lee J, Kang S (2007) GA based meta-modeling of BPN architecture for constrained approximate optimization. Int J Solids Struct 44(18–19):5980–5993
Hou THT, Su CH, Chang HZ (2008) Using neural networks and immune algorithms to find the optimal parameters for an IC wire bonding process. Expert Syst Appl 34(1):427–436
Zhang, Y., & Chen, H. (2006, October). Predicting for MTBF failure data series of software reliability by genetic programming algorithm. In: Sixth International Conference on Intelligent Systems Design and Applications (Vol. 1, pp. 666–670). IEEE.
Aljahdali, S. H., & El-Telbany, M. E. (2009, May). Software reliability prediction using multi-objective genetic algorithm. In: 2009 IEEE/ACS International Conference on Computer Systems and Applications (pp. 293–300). IEEE.
Costa, E. O., Vergilio, S. R., Pozo, A., & Souza, G. (2005, November). Modeling software reliability growth with genetic programming. In: 16th IEEE International Symposium on Software Reliability Engineering (ISSRE'05) (pp. 10-pp). IEEE.
Costa EO, de Souza GA, Pozo ATR, Vergilio SR (2007) Exploring genetic programming and boosting techniques to model software reliability. IEEE Trans Reliab 56(3):422–434
Chen Lq, Wang C, Song Sl (2022) Software defect prediction based on nested-stacking and heterogeneous feature selection. Complex Intell Syst 8:3333–3348. https://doi.org/10.1007/s40747-022-00676-y
Cui M, Long S, Jiang Y, Na X (2022) Research of software defect prediction model based on complex network and graph neural network. Entropy 24:1373. https://doi.org/10.3390/e24101373
Tian, Z., Xiang, J., Zhenxiao, S., Yi, Z., & Yunqiang, Y. (2019). Software Defect Prediction based on Machine Learning Algorithms. In: 2019 IEEE 5th International Conference on Computer and Communications, ICCC 2019, 520–525.
Rhmann W, Pandey B, Ansari G, Pandey DK (2020) Software fault prediction based on change metrics using hybrid algorithms: an empirical study. J King Saud Univ-Comput Inf Sci 32(4):419–424
Bishnu PS, Bhattacherjee V (2012) Software fault prediction using quad tree-based K-means clustering algorithm. IEEE Trans Knowl Data Eng 24(6):1146–1150
Azar D, Vybihal J (2011) An ant colony optimization algorithm to improve software quality prediction models: case of class stability. Inf Softw Technol 53(4):388–393
Park BJ, Oh SK, Pedrycz W (2013) The design of polynomial function-based neural network predictors for detection of software defects. Inf Sci 229:40–57
Khoshgoftaar TM, Allen EB, Deng J (2002) Using regression trees to classify fault-prone software modules. IEEE Trans Reliab 51(4):455–462
D’Ambros, M., Bacchelli, A., & Lanza, M. (2010). On the impact of design flaws on software defects. In: Proceedings-International Conference on Quality Software, May, 23–31.
Afzal, W. (2007). Metrics in software test planning and test design processes. January, 105.
Répási, T. (2009). Software testing-State of the art and current research challanges. In: Proceedings-2009 5th International Symposium on Applied Computational Intelligence and Informatics, SACI 2009, 47–50. https://doi.org/10.1109/SACI.2009.5136289
Cheikhi L, Al-Qutaish RE, Idri A, Sellami A (2014) Chidamber and kemerer object-oriented measures: analysis of their design from the metrology perspective. Int J Softw Eng Appl 8(2):359–374
Okike E (2010) A proposal for normalized lack of cohesion in method (LCOM) metric using field experiment. Int J Comput Sci Issues 7(4):19–27
Misra S, Akman KI (2008) Weighted class complexity: a measure of complexity for object oriented system. J Inf Sci Eng 24(6):1689–1708
Santos D, de Resende AM, Lima EC, Freire AP (2017) Software instability analysis based on afferent and efferent coupling measures. J Softw 12(1):19–34
Bejjanki KK, Gyani J, Gugulothu N (2020) Class imbalance reduction (CIR): a novel approach to software defect prediction in the presence of class imbalance. Symmetry 12:407. https://doi.org/10.3390/sym12030407
Samadzadeh MH, Nandakumar K (1991) A study of software metrics. J Syst Softw 16(3):229–234
Vasilescu, B., Serebrenik, A., & van den Brand, M. (2010). Comparative Study of Software Metrics’ Aggregation Techniques. In: Proceedings of the International Worskhop Benevol 2010, December 2010.
Plösch R, Bräuer J, Körner C, Saft M (2016) MUSE: a framework for measuring object-oriented design quality. J Obj Technol 15(4):1–29
Dattatraya V (2012) Available online through research article. Ijrap Net 4(1):4060–4066
Vanitha N, Thirumalaiselvi R (2018) Inheritance coupling complexity metric in association with modifiability at package level: an empirical exploration. Int J Pure Appl Math 118(18):3789–3797
Gu A, Li L, Li S, Xun Q, Dong J, Lin J (2020) Method of coupling metrics for object-oriented software system based on CSBG approach. Math Prob Eng 19(2020):1–20
Bhatt K, Tarey V, Patel P (2012) Analysis of source lines of code (SLOC) metric. Int J Emerg Technol Adv Eng 2(5):3–7
Misra S, Adewumi A, Fernandez-Sanz L, Damasevicius R (2018) A suite of object oriented cognitive complexity metrics. IEEE Access 6:8782–8796
Dixit, P., & Prajapati, G. I. (2015). Machine learning in bioinformatics: a novel approach for DNA sequencing. In: International Conference on Advanced Computing and Communication Technologies, ACCT, 2015-April, 41–47
Song Q, Shepperd M, Cartwright M, Mair C (2006) Software defect association mining and defect correction effort prediction. IEEE Trans Software Eng 32(2):69–82
Lessmann S, Baesens B, Mues C, Pietsch S (2008) Benchmarking classification models for software defect prediction: a proposed framework and novel findings. Softw Eng, IEEE Trans 34(4):485–496
Author information
Authors and Affiliations
Contributions
SJ and AN contributed to conceptual and original research and manuscript writing (these authors contributed equally and should be considered as first co-author), MU and DG were involved in investigation and validation, RA and BM contributed to review and editing, and YT was involved in supervision.
Corresponding author
Ethics declarations
Competing interests
The authors declare no competing interests.
Conflict of interest
The authors declare no conflict of interest.
Ethical approval
Not applicable.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.
About this article
Cite this article
Juneja, S., Nauman, A., Uppal, M. et al. Machine learning-based defect prediction model using multilayer perceptron algorithm for escalating the reliability of the software. J Supercomput 80, 10122–10147 (2024). https://doi.org/10.1007/s11227-023-05836-6
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-023-05836-6