Expert Systems with Applications
Expert Systems with Applications 36 (2009) 2116–2122 www.elsevier.com/locate/eswa
Predicting software reliability with neural network ensembles Jun Zheng
Department of Computer Science, New Mexico Institute of Mining and Technology, Socorro, NM 87801
Abstract Software reliability is an important factor for quantitatively characterizing software quality and estimating the duration of software testing period. Traditional parametric software reliability growth models (SRGMs) such as nonhomogeneous Poisson process (NHPP) models have been successfully utilized in practical software reliability engineering. However, no single such parametric model can obtain accurate prediction for all cases. In addition to the parametric models, non-parametric models like neural network have shown to be eﬀective alternative techniques for software reliability prediction. In this paper, we propose a non-parametric software reliability prediction system based on neural network ensembles. The eﬀects of system architecture on the performance are investigated. The comparative studies between the proposed system with the single neural network based system and three parametric NHPP models are carried out. The experimental results demonstrate that the system predictability can be signiﬁcantly improved by combing multiple neural networks. Ó 2007 Elsevier Ltd. All rights reserved. Keywords: Software reliability; Neural network ensembles; Neural networks; Software reliability growth model (SRGM); Nonhomogeneous Poisson process (NHPP) model
1. Introduction Software reliability, as deﬁned by ANSI, indicates the probability of failure-free software operation for a speciﬁed period of time in a speciﬁed environment (Lyu, 1996; Musa, 2004). It is an important factor for quantitatively characterizing software quality and estimating the duration of software testing period. As today’s software products grow rapidly in size and complexity, the prediction of software reliability plays a critical role in the software development process. Many software reliability grow models (SRGMs) have been proposed in the literature to estimate the relationship between software reliability and time and other factors. They are mainly divided into two main categories: parametric models and non-parametric models. The parametric models estimate the model parameters based on the assumptions about the nature of software faults, the stochastic behavior of the software failure process, and the development environments. The most popular parametric models are the nonhomogeneous Poisson process E-mail address: firstname.lastname@example.org 0957-4174/$ - see front matter Ó 2007 Elsevier Ltd. All rights reserved. doi:10.1016/j.eswa.2007.12.029
(NHPP) models, which have been used successfully in practical software reliability engineering (Malaiya, Li, Bieman, & Karcich, 2002; Pham, Nordmann, & Zhang, 1999). However, it has been shown that no single such model can obtain accurate predications for all cases (Li, Yin, Guo, & Lyu, 2007). On the other hand, non-parametric models like neural network and support vector machine (SVM) are more ﬂexible which can predict reliability metrics only based on fault history without the assumptions of parametric models. Also non-parametric methods can produce models with better predictive quality than parametric models (Karunanithi, Whitley, & Malaiya, 1992a, 1992b; Su & Huang, 2007). In this study, we use the ensemble of neural networks to build non-parametric models for software reliability prediction. It has been shown that an ensemble of multiple predictors can achieve better performance compared with a single predictor in the average (Krogh & Sollich, 1997; Wichard & Ogorzalek, 2007). Based on the study, we demonstrate that a system constructed with neural network ensemble has better prediction capability of software reliability than single neural network based system.