Skip to main content
Log in

Software reliability prediction using machine learning techniques

  • Original Article
  • Published:
International Journal of System Assurance Engineering and Management Aims and scope Submit manuscript

Abstract

Software Reliability is indispensable part of software quality and is one amongst the most inevitable aspect for evaluating quality of a software product. Software industry endures various challenges in developing highly reliable software. Application of machine learning (ML) techniques for software reliability prediction has shown meticulous and remarkable results. In this paper, we propose the use of ML techniques for software reliability prediction and evaluate them based on selected performance criteria. We have applied ML techniques including adaptive neuro fuzzy inference system (ANFIS), feed forward back propagation neural network, general regression neural network, support vector machines, multilayer perceptron, Bagging, cascading forward back propagation neural network, instance based learning, linear regression, M5P, reduced error pruning tree, M5Rules to predict the software reliability on various datasets being chosen from industrial software. Based on the experiments conducted, it was observed that ANFIS yields better results in all the cases and thus can be used for predicting software reliability since it predicts the reliability more accurately and precisely as compared to all other above mentioned techniques. In this study, we also made comparative analysis between cumulative failure data and inter failure time’s data and found that cumulative failure data gives better and more promising results as compared to inter failure time’s data.

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

Similar content being viewed by others

References

  • Aggarwal KK, Singh Y, Kaur A, Malhotra R (2006) Investigating the effect of coupling metrics on fault proneness in object-oriented systems. Softw Qual Prof 8(4):4–16

    Google Scholar 

  • Aljahdali SH, Buragga KA (2008) Employing four ANNs paradigms for software reliability prediction: an analytical study. ICGST AIML J 8(2):1687–4846

    Google Scholar 

  • Cai YK, Wen YC, Zhang LM (1991) A critical review on software reliability modeling. Reliab Eng Syst Saf 32(3):357–371

    Article  Google Scholar 

  • Eduardo OC, Aurora TR, Silvia RV (2010) A genetic programming approach for software reliability modeling. IEEE Trans Reliab 59(1):222–230

    Article  Google Scholar 

  • Goel B, Singh Y (2009) An empirical analysis of metrics. Softw Qual Prof 11(3):35–45

    Google Scholar 

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

    Article  MathSciNet  MATH  Google Scholar 

  • Hu QP, Dai YS, Xie M, Ng SH (2006) Early software reliability prediction with extended ANN model. In: Proceedings of the 30th annual international computer software and applications conference (COMPSAC ‘06), vol 2, pp 234–239

  • Hua Jung L (2010) Predicting software reliability with support vector machines. In: Proceedings of 2nd international conference on computer research and development (ICCRD’10), Kuala Lumpur, pp 765–769

  • Jun-gang L, Jian-hui J, Chun-yan S, Rui Z, Ang J (2009) Software reliability prediction model based on relevance vector machine. IEEE international conference on intelligent computing and intelligent systems, pp 229–233

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

    Article  Google Scholar 

  • Kohavi R (1995) The power of decision tables. In: Kohavi R (ed) The eighth European conference on machine learning (ECML-95), Heraklion, pp 174–189

  • Kumar P, Singh Y (2012) An empirical study of software reliability prediction using machine learning techniques. Int J Syst Assur Eng Manag 3(3):194–208. doi:10.1007/s13198-012-0123-8

    Article  Google Scholar 

  • Liu G, Zhang D, Zhang T (2015) Software reliability forecasting: singular spectrum analysis and ARIMA hybrid model. International symposium on theoretical aspects of software engineering, pp 111–118

  • Lo J-H (2011) A study of applying ARIMA and SVM model to software reliability prediction. International conference on uncertainty reasoning and knowledge engineering, pp 141–144

  • Lou J, Jiang Y, Shen Q, Shen Z, Wang Z, Wang R (2016) Software reliability prediction via relevance vector regression. Neurocomputing 186:66–73

    Article  Google Scholar 

  • Madsen H, Thyregod P, Burtschy B, Albeanu G, Popentiu F (2006) On using soft computing techniques in software reliability engineering. Int J Reliab Qual Saf Eng 13(1):61–72

    Article  Google Scholar 

  • Malhotra R, Negi A (2013) Reliability modeling using particle swarm optimization. The society for reliability engineering, quality and operations management (SREQOM), India and The Division of Operation and Maintenance, Lulea University of Technology, Sweden. Int J Syst Assur Eng Manag. doi:10.1007/s13198-012-0139-0

    Google Scholar 

  • Malhotra R, Kaur A, Singh Y (2011) Empirical validation of object oriented metrics for predicting fault proneness at different severity levels using support vector machines. Int J Syst Assur Eng Manag 1(3):269–281. doi:10.1007/s13198-011-0048-7

    Article  Google Scholar 

  • Matlab fuzzy logic toolbox: tutorials on fuzzy inference system and ANFIS using MatLab. http://www.mathworks.com. Accessed 14 Feb 2011

  • Ohba M (1984) Software reliability analysis models. IBM J Res Dev 21(4):428–443

    Article  Google Scholar 

  • Pai PF, Hong WC (2006a) Software reliability forecasting by support vector machines with simulated annealing algorithms. J Syst Softw 79(6):747–755

    Article  Google Scholar 

  • Pai FP, Hong CW (2006b) Software reliability forecasting by support vector machines with simulated vector machines with simulated annealing algorithms. J Syst Softw 79:747–755

    Article  Google Scholar 

  • Park J, Lee N, Baik J (2014) On the long-term predictive capability of data-driven software reliability model: an empirical evaluation. IEEE 25th international symposium on software reliability engineering, pp 45–54

  • Quyoum A, Dar MD, Quadr SMK (2010) Improving software reliability using software engineering approach—a review. Int J Comput Appl 10(5):0975–8887

    Google Scholar 

  • Singh Y, Kumar P (2010a) A software reliability growth model for three-tier client–server system. Int J Comp Appl 1(13):9–16. doi:10.5120/289-451

    Google Scholar 

  • Singh Y, Kumar P (2010b) Determination of software release instant of three-tier client server software system. Int J Softw Eng 1(3):51–62

    Google Scholar 

  • Singh Y, Kumar P (2010c) Application of feed-forward networks for software reliability prediction. ACM SIGSOFT, Softw Eng Notes 35(5):1–6

    Article  Google Scholar 

  • Singh Y, Kumar P (2010d) Prediction of software reliability using feed forward neural networks. In: Proceedings of computational intelligence and software engineering (CiSE’10), Wuhan, pp 1–5. doi:10.1109/CISE.2010.5677251

  • Specht FD (1991) A general regression neural network. IEEE Trans Neural Netw 2(6):568–576

    Article  Google Scholar 

  • Standards Coordinating Committee of the IEEE Computer Society (1991) IEEE Standard Glossary of Software Engineering Terminology, IEEE-STD-610.12-1990. IEEE, New York

  • Su SY, Huang YC (2006) Neural-network-based approaches for software reliability estimation using dynamic weighted combinational models. J Syst Softw 80(4):606–615

    Article  Google Scholar 

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

    Article  Google Scholar 

  • Torrado N, Wiper MP, Lillo RE (2013) Software reliability modeling with software metrics data via gaussian processes. IEEE Trans Softw Eng 39(8):1179–1186

    Article  Google Scholar 

  • van Koten C, Gray AR (2005) An application of Bayesian network for predicting object-oriented software maintainability. The information science discussion paper, series number 2005/02, pp 1172–6024

  • Wood A (1996) Predicting software reliability. Tandem Comput IEEE 29(11):69–77

    Article  Google Scholar 

  • Xingguo L, Yanhua S (2007) An early prediction method of software reliability based on support vector machine. In: Proceedings international conference on wireless communications, networking and mobile computing (WiCom’07), pp 6075–6078

  • Yang B, Li X, Xie M, Tan F (2010) A generic data-driven software reliability model with model mining technique. Reliab Eng Syst Saf 95(6):671–678

    Article  Google Scholar 

  • Zhang X, Jeske DR, Pham H (2002) Calibrating software reliability models when the test environment does not match the user environment. Appl Stoch Models Bus Ind 18:87–99

    Article  MathSciNet  MATH  Google Scholar 

  • Zhou Y, Xu B, Leung H (2010) On the ability of complexity metrics to predict fault-prone classes in object-oriented systems. J Syst Softw 83:660–674

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Arunima Jaiswal.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Jaiswal, A., Malhotra, R. Software reliability prediction using machine learning techniques. Int J Syst Assur Eng Manag 9, 230–244 (2018). https://doi.org/10.1007/s13198-016-0543-y

Download citation

  • Received:

  • Revised:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s13198-016-0543-y

Keywords

Navigation