Skip to main content
Log in

Machine learning-based defect prediction model using multilayer perceptron algorithm for escalating the reliability of the software

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

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%.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15

Similar content being viewed by others

References

  1. Wang, Z., Li, B., & Ma, Y. (2014). An analysis of research in software engineering: assessment and trends. 1–25.

  2. Kolli, R. (2016). An empirical study on software test estimation. 2014, 96–106.

  3. 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

    Article  Google Scholar 

  4. Wahono RS, Herman NS (2014) Genetic feature selection for software defect prediction. Adv Sci Lett 20(1):239–244

    Article  Google Scholar 

  5. 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

  6. 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

  7. 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.

  8. 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

    Article  Google Scholar 

  9. 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

    Article  Google Scholar 

  10. 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

  11. 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.

  12. Li Z, Harman M, Hierons RM (2007) Search algorithms for regression test case prioritization. IEEE Trans Softw Eng 33(4):225–237

    Article  Google Scholar 

  13. Tian L, Noore A (2005) Evolutionary neural network modeling for software cumulative failure time prediction. Reliab Eng Syst Saf 87(1):45–51

    Article  Google Scholar 

  14. 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

  15. 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

  16. Tian L, Noore A (2005) On-line prediction of software reliability using an evolutionary connectionist model. J Syst Softw 77(2):173–180

    Article  Google Scholar 

  17. Fan G, Diao X, Yu H, Yang K, Chen L (2019) 2019. Software defect prediction via attention-based recurrent neural network, Scientific programming

    Google Scholar 

  18. 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.

  19. 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.

  20. 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.

  21. Agrawal A, Malhotra R (2019) Cross project defect prediction for open source software. Int J Inf Technol 14(1):1–15

    Google Scholar 

  22. Wang TY, Huang CY (2007) Applying optimized BPN to a chaotic time series problem. Expert Syst Appl 32(1):193–200

    Article  Google Scholar 

  23. 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

    Article  Google Scholar 

  24. 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

    Article  Google Scholar 

  25. 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

    Article  Google Scholar 

  26. 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

    Article  Google Scholar 

  27. 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.

  28. 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.

  29. 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.

  30. 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

    Article  Google Scholar 

  31. 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

    Article  Google Scholar 

  32. 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

    Article  Google Scholar 

  33. 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.

  34. 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

    Google Scholar 

  35. 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

    Article  Google Scholar 

  36. 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

    Article  Google Scholar 

  37. 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

    Article  MathSciNet  Google Scholar 

  38. Khoshgoftaar TM, Allen EB, Deng J (2002) Using regression trees to classify fault-prone software modules. IEEE Trans Reliab 51(4):455–462

    Article  Google Scholar 

  39. 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.

  40. Afzal, W. (2007). Metrics in software test planning and test design processes. January, 105.

  41. 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

  42. 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

    Google Scholar 

  43. 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

    Google Scholar 

  44. Misra S, Akman KI (2008) Weighted class complexity: a measure of complexity for object oriented system. J Inf Sci Eng 24(6):1689–1708

    Google Scholar 

  45. 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

    Article  Google Scholar 

  46. 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

    Article  Google Scholar 

  47. Samadzadeh MH, Nandakumar K (1991) A study of software metrics. J Syst Softw 16(3):229–234

    Article  Google Scholar 

  48. 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.

  49. 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

    Google Scholar 

  50. Dattatraya V (2012) Available online through research article. Ijrap Net 4(1):4060–4066

    Google Scholar 

  51. 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

    Google Scholar 

  52. 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

    Article  Google Scholar 

  53. 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

    Google Scholar 

  54. Misra S, Adewumi A, Fernandez-Sanz L, Damasevicius R (2018) A suite of object oriented cognitive complexity metrics. IEEE Access 6:8782–8796

    Article  Google Scholar 

  55. 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

  56. 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

    Article  Google Scholar 

  57. 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

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

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

Correspondence to Sapna Juneja.

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.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-023-05836-6

Keywords

Navigation