Skip to main content
Log in

Software fault prediction using Nonlinear Autoregressive with eXogenous Inputs (NARX) network

  • Published:
Applied Intelligence Aims and scope Submit manuscript

Abstract

This paper explores a new approach for predicting software faults by means of NARX neural network. Also, a careful analysis has been carried out to determine the applicability of NARX network in software reliability. The validation of the proposed approach has been performed using two real software failure data sets. Comparison has been made with some existing parametric software reliability models as well as some neural network (Elman net and TDNN) based SRGM. The results computed shows that the proposed approach outperformed the other existing parametric and neural network based software reliability models with a reasonably good predictive accuracy.

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.

Similar content being viewed by others

Abbreviations

NHPP:

Non Homogeneous Poisson Process

SRGM:

Software Reliability Growth Model

ANN:

Artificial Neural Network

NARX:

Nonlinear Autoregressive with eXogenous Inputs

TDNN:

Time Delay Neural Network

MAE:

Mean Absolute Error

RMSE:

Root Mean Square Error

SP:

Series Parallel mode

P:

Parallel Mode

References

  1. Aljahdali SH, Sheta A, Rine D (2001) Prediction of software reliability: a comparison between regression and neural network non-parametric models. In: Proceedings of ACS/IEEE international conference on computer systems and applications, pp 470–473

    Chapter  Google Scholar 

  2. An S-Y, Kang J-G, Choi W-S, Oh S-Y (2010) A neural network based retrainable framework for robust object recognition with application to mobile robotics. Appl Intell. doi:10.1007/s10489-010-0212-9

  3. Barai SV, Pandey PC (1997) Time delay neural networks in damage detection of railway bridges. Adv Eng Softw 28(1):1–10

    Article  Google Scholar 

  4. Cai KY, Cai L, Wang WD, Yu ZY, Zhang D (2001) On the neural network approach in software reliability modeling. J Syst Softw 58(1):47–62

    Article  Google Scholar 

  5. Canuto AMP, Santos AM, Rogerio Vargas R (2011) Ensembles of ARTMAP-based neural networks: an experimental study. Appl Intell 35(1):1–17

    Article  Google Scholar 

  6. Challagulla VUB, Bastani FB, I-Ling Yen P (2005) Empirical assessment of machine learning based software defect prediction techniques. In: 10th IEEE international workshop on object-oriented real-time dependable systems, WORDS, pp 263–270

    Chapter  Google Scholar 

  7. Chatterjee S, Misra RB, Alam SS (1997) Prediction of software reliability using an auto regressive process. Int J Syst Sci 28(2):211–216

    Article  MATH  Google Scholar 

  8. Chatterjee S, Misra RB, Alam SS (1997) Joint effect of test effort and learning factor on software reliability and optimal release policy. Int J Syst Sci 28(4):391–396

    Article  MATH  Google Scholar 

  9. Chen S, Billings SA (1989) Representation of non-linear systems: the NARMAX model. Int J Control 49(3):1013–1032

    MathSciNet  MATH  Google Scholar 

  10. Dzielinski A (2002) Neural network-based NARX models in non-linear adaptive control. Int J Appl Math Comput Sci 12(2):235–240

    MathSciNet  MATH  Google Scholar 

  11. Ho SL, Xie M, Goh TN (2003) A study of the connectionist models for software reliability prediction. Comput Math Appl 46(7):1037–1045

    Article  MathSciNet  MATH  Google Scholar 

  12. Hu QP, Xie M, Ng SH, Levitin G (2006) Robust recurrent neural network modeling for software fault detection and correction prediction. Reliab Eng Syst Saf 92(3):332–340

    Article  Google Scholar 

  13. Junior JMP, Barreto GA (2008) Long-term time series prediction with the NARX network: an empirical evaluation. Neurocomputing 71:3335–3343

    Article  Google Scholar 

  14. Karunanithi N, Whitley D, Malaiya YK (1992) Prediction of software reliability using connectionist models. IEEE Trans Softw Eng 18:563–574

    Article  Google Scholar 

  15. Khoshgoftaar TM, Szabo RM (1994) Predicting software quality, during testing, using neural network models: a comparative study. Int J Reliab Qual Saf Eng 1(3):303–319

    Article  Google Scholar 

  16. Khoshgoftaar TM, Szabo RM (1996) Using neural network to predict software faults during testing. IEEE Trans Reliab 45(3):456–462

    Article  Google Scholar 

  17. Kim K-j, Ahn H (2011) Simultaneous optimization of artificial neural networks for financial forecasting. Appl Intell. doi:10.1007/s10489-011-0303-2

    Google Scholar 

  18. Lee JH, Lee SJ (1999) One-step-ahead prediction of flank wear using cutting force. Int J Mach Tools Manuf 39:1747–1760

    Article  Google Scholar 

  19. Lin T-N, Giles CL, Horne BG, Kung SY (1997) A delay damage model selection algorithm for NARX neural networks. IEEE Trans Signal Process 45:2719–2730

    Article  Google Scholar 

  20. Lyu MR (1996) Handbook of software reliability engineering. McGraw-Hill, New York

    Google Scholar 

  21. Mazinan AH, Sheikhan M (2010) On the practice of artificial intelligence based predictive control scheme: a case study. Appl Intell. doi:10.1007/s10489-010-0253-0

    Google Scholar 

  22. Musa JD, Iannino A, Okumoto K (1987) Software reliability: measurement, prediction, application. McGraw-Hill, New York

    Google Scholar 

  23. Narendra KS, Parthasarathy K (1990) Identification and control of dynamical systems using neural networks. IEEE Trans Neural Netw 1(1):4–27

    Article  Google Scholar 

  24. Norgaard M, Ravn O, Poulsen NK, Hansen LK (2000) Neural networks for modelling and control of dynamic systems. Springer, Berlin

    Book  Google Scholar 

  25. Parlos AG, Rais OT, Atiya AF (2000) Multi-step-ahead prediction using dynamic recurrent neural networks. Neural Netw 13(7):765–786

    Article  Google Scholar 

  26. Pham H (2006) System software reliability. Springer, Berlin

    Google Scholar 

  27. Pham DT, Karaboga D (1999) Training Elman and Jordam networks for system identification using genetic algorithm. Artif Intell Eng 13:107–117

    Article  Google Scholar 

  28. Siegelmann Hava T, Horne BG, Giles CL (1997) Computational capabilities of recurrent NARX neural networks. IEEE Trans Syst Man Cybern 27(2):208–215

    Google Scholar 

  29. Singpurwalla ND, Soyer R (1985) Assessing (software) reliability growth using a random co-efficient autoregressive process and its ramifications. IEEE Trans Softw Eng 11:1456–1464

    Article  Google Scholar 

  30. Sjöberg J, Zhang Q, Ljung L, Benveniste A, Deylon B, Glorennec P, Hjalmarsson H, Juditsky A (1995) Nonlinear black-box modeling in system identification: a unified overview. Automatica 31(12):1691–1724

    Article  MathSciNet  MATH  Google Scholar 

  31. Sorjamaa A, Reyhani JHN, Ji Y, Lendasse A (2007) Methodology for long-term prediction of time series. Neurocomputing 70:2861–2869

    Article  Google Scholar 

  32. Steinherz H, Pedreira C, Castro R (2001) Neural networks for short term load forecasting: a review and evaluation. IEEE Trans Power Syst 16(1):44–55

    Article  Google Scholar 

  33. Su YS, Huang CY (2007) Neural-network-based approaches for software reliability estimation using dynamic weighted combinational models. J Syst Softw 80(4):606–615

    Article  MathSciNet  Google Scholar 

  34. Su YS, Huang CY, Chen YS, Chen JX (2005) An artificial neural-network-based approach to software reliability assessment. In: In Proceedings of IEEE region 10 conference, Melbourne, Australia

    Google Scholar 

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

  36. Xie M (1991) Software reliability modeling. World Scientific, Singapore

    Book  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to S. Chatterjee.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Chatterjee, S., Nigam, S., Singh, J.B. et al. Software fault prediction using Nonlinear Autoregressive with eXogenous Inputs (NARX) network. Appl Intell 37, 121–129 (2012). https://doi.org/10.1007/s10489-011-0316-x

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10489-011-0316-x

Keywords

Navigation