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.
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
Aljahdali SH, Buragga KA (2008) Employing four ANNs paradigms for software reliability prediction: an analytical study. ICGST AIML J 8(2):1687–4846
Cai YK, Wen YC, Zhang LM (1991) A critical review on software reliability modeling. Reliab Eng Syst Saf 32(3):357–371
Eduardo OC, Aurora TR, Silvia RV (2010) A genetic programming approach for software reliability modeling. IEEE Trans Reliab 59(1):222–230
Goel B, Singh Y (2009) An empirical analysis of metrics. Softw Qual Prof 11(3):35–45
Ho SL, Xie M, Goh TN (2003) A study of connectionist models for software reliability prediction. Comput Math Appl 46(7):1037–1045
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
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
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
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
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
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
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
Pai PF, Hong WC (2006a) Software reliability forecasting by support vector machines with simulated annealing algorithms. J Syst Softw 79(6):747–755
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
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
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
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
Singh Y, Kumar P (2010c) Application of feed-forward networks for software reliability prediction. ACM SIGSOFT, Softw Eng Notes 35(5):1–6
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
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
Tian L, Noore A (2005) Evolutionary neural network modeling for software cumulative failure time prediction. Reliab Eng Syst Saf 87:45–51
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
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
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
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
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
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
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
Received:
Revised:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s13198-016-0543-y