Next Article in Journal
Review of Photogrammetric and Lidar Applications of UAV
Next Article in Special Issue
A Three-Phased Fuzzy Logic Multi-Criteria Decision-Making Model for Evaluating Operation Systems for Smart TVs
Previous Article in Journal
Research on Seismic Wave Delay and Amplification Methods in the Shaking Table Test of Large-Span Structures in Mountain Areas
Previous Article in Special Issue
A Fuzzy-Based Emotion Detection Method to Classify the Relevance of Pleasant/Unpleasant Emotions Posted by Users in Reviews of Service Facilities
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Prediction and Comparative Analysis of Software Reliability Model Based on NHPP and Deep Learning

Department of Computer Science and Statistics, Chosun University, 309 Pilmun-daero, Dong-gu, Gwangju 61452, Republic of Korea
*
Author to whom correspondence should be addressed.
These authors contributed equally to this work.
Appl. Sci. 2023, 13(11), 6730; https://doi.org/10.3390/app13116730
Submission received: 20 April 2023 / Revised: 25 May 2023 / Accepted: 28 May 2023 / Published: 31 May 2023
(This article belongs to the Special Issue Smart Service Technology for Industrial Applications II)

Abstract

:
Over time, software has become increasingly important in various fields. If the current software is more dependent than in the past and is broken owing to large and small issues, such as coding and system errors, it is expected to cause significant damage to the entire industry. To address this problem, the field of software reliability is crucial. In the past, efforts in software reliability were made to develop models by assuming a nonhomogeneous Poisson-process model (NHPP); however, as models became more complex, there were many special cases in which models fit well. Hence, this study proposes a software reliability model using deep learning that relies on data rather than mathematical and statistical assumptions. A software reliability model based on recurrent neural networks (RNN), long short-term memory (LSTM), and gated recurrent units (GRU), which are the most basic deep and recurrent neural networks, was constructed. The dataset was divided into two, Datasets 1 and 2, which both used 80% and 90% of the entire data, respectively. Using 11 criteria, the estimated and learned results based on these datasets proved that the software reliability model using deep learning has excellent capabilities. The software reliability model using GRU showed the most satisfactory results.

1. Introduction

Over time, software has become increasingly important in various fields. In the past, software helped with simple tasks or small parts in each industry; however, it has now been developed into a form that can perform basic roles in all-inclusive roles. If the current software is more dependent than in the past and is broken owing to large and small issues, such as certain coding and system errors, it is expected to cause significant damage to the entire industry. To address this problem, studies on software reliability, which measure how effectively the software works, are constantly being conducted. Software reliability tests the ability of software to not fail for a specified period and indicates how long the software can be used without failure.
Studies on software reliability have been conducted based on the software reliability model, assuming the Markov model and the non-homogeneous Poisson process (NHPP) [1]. However, since software failures follow a Poisson distribution, most related studies have been conducted based on the software reliability model, assuming NHPP. Previous studies on software reliability began when a software reliability model based on NHPP was developed by Goel and Okumoto [2]. It was assumed that software failures occur independently and do not affect each other. Subsequently, a study was conducted on an S-shaped curve model in which the number of cumulative software failures increased along the S curve [3,4,5]. In addition, a software reliability model study, assuming incomplete debugging in which the defects found in the test phase were not corrected or removed, was also conducted [6]. By expanding on this, a study on a generalized incomplete debugging defect detection rate model was conducted [7,8,9,10,11]. The defect detection rate of each proposed model is in the form of a function. In addition, since the operating environment is different for each software, it is difficult to compare them equally. Thus, the software reliability model has been studied, considering uncertain factors in the operating environment [12,13].
As software develops over time, it becomes composed of complex and intertwined structures; therefore, studies on software reliability models are being conducted, assuming that software failures occur independently [14]. A software reliability model that assumes that previous errors will continuously affect software failures if they are not well fixed has been proposed, and a dependent software reliability model that assumes an uncertain operating environment has been studied [15,16].
As research progressed, several software reliability models studied under independent and dependent assumptions developed numerous models suitable for special cases, and generalizing them has been difficult. To address this, studies on software reliability models using deep learning, which is a nonparametric method, have been performed. Among the nonparametric software reliability models using deep learning, a study on software reliability models using deep neural networks was conducted [17], and a software reliability model using deep learning that applies failure data generated through open-source software was also proposed [18]. In addition, since software failure is a sequential data characteristic, the software reliability model using the recurrent neural network (RNN) and the long short-term memory (LSTM) was studied using this characteristic [19,20,21].
The software reliability model developed by NHPP has the problem that it fits well only in special cases because it adds special mathematical assumptions. Therefore, in this study, to solve this problem, we aim at the software reliability model utilizing deep learning among machine learning methods, which is a form that relies on given failure data. Since it is a data-dependent model, it is possible to develop a generalized software reliability model that considers all failures that occur in software without relying on special cases of software failures. In addition, in the past, software reliability models utilizing deep learning have been analyzed by applying methods, but in this study, we propose to add a deeper hidden layer of deep neural networks to the recurrent neural network series. If we develop a model that utilizes 100% of the data, it may cause an overfitting problem that only fits the trained data well. As a result, we also present the results for 80% and 90% of the data sets and the resulting predictions to prove superiority using 11 criteria comparisons. Section 2 presents the theoretical background of software reliability and deep learning. Section 3 introduces numerical examples, and finally, Section 4 presents the conclusions.

2. Software Reliability Model

2.1. Generalized Software Relability Model

Software reliability refers to the probability that the software does not cause system failure for a certain period of time under specific conditions. The reliability function used to evaluate this is
R t = P T > t = t f u d u .
This indicates the probability of an operation over time t. The pdf f(t) assumes the failure time or lifetime of the software to be a random variable T. We obtained the reliability function by assuming a distribution for the calculation. It was assumed that it follows an exponential distribution with parameter λ. Subsequently, we approach λ as an NHPP and propose a model in which λ is not a single constant value but a mean value function m(t) that changes over time [1]. N(t) is the number of failures up to time t and is a Poisson probability density function with parameter m(t).
P { N t = n } = { m ( t ) } n n ! e m ( t ) , n = 0,1 , 2 , , t 0
m(t) is the integral of λ(t), which is a strength function representing the number of instantaneous failures at time t and the mean value function from 0 to time t.
m t = 0 t λ s d s
The m t is calculated using the relationship between the number of failures a(t) at each time point and the failure detection rate b(t).
d m ( t ) d t = b t [ a t m ( t ) ]
The software reliability model is developed using a differential equation, which is the basic form of the above equation. The software reliability model obtained by multiplying η in Equation (4) assumes an uncertain operating environment. Here, η is a parameter for the uncertainty of the operating environment, and N is the expected number of faults that exist in the software before testing [12].
d m ( t ) d t = η b t [ N m ( t ) ]
In addition, if m(t) is multiplied again in Equation (4), a software reliability model can be derived assuming dependent failures, in which software failures at the previous time point affect failures at the next time point [14]. This is expressed in the following equation:
d m ( t ) d t = b t [ a t m ( t ) ] m ( t )
If each differential equation is arranged in terms of m(t) according to the conditions in Equations (4)–(6), a software reliability model that satisfies each condition can be derived. The developed software model is presented in Table 1. Models 1 to 6 are software reliability models obtained through the most basic form of differential equations; models 7 and 8 are those assuming uncertain operating environments; model 9 assumes dependent failures; and model 10 assumes the occurrence of dependent failures in an uncertain operating environment.

2.2. Software Reliablity Model Using Deep Learning

2.2.1. Deep Neural Network

An artificial neural network is based on the biological structure of the human brain and consists of nonlinear neurons. Based on the information received by the five senses, humans think and judge last, as information moves from one neuron to the next. The neurons (nodes) present in each layer of an artificial neural network are the most basic information-processing units. The network structure consists of three layers: input, output, and hidden layers. The input layer plays the same role as the information obtained by human beings through their five senses or thoughts, whereas the output layer refers to thoughts or judgments based on this. Conversely, the hidden layer learns to think or judge while receiving signals from the previous layer and passes them to the next layer through an activation function. A deep neural network (DNN) refers to a form in which the number of hidden layers is large in an artificial neural network [22,23]. When data is inputted from the input layer, the next hidden layer moves to the next layer through an activation function after combining the input value, weight, and bias and is transmitted to the output layer. Equation (7) expresses the passing from each layer. It consists of the product of the transformed z value (input value) in the previous layer, the weight, and the sum of the biases.
u i j = b i + k = 1 j W i , k z i 1 , k z i j = f u i j
For each layer, the activation function when moving to the next layer mainly uses the sigmoid, hyperbolic tangent, and ReLU functions. As the activation function used when outputting the result passed to the last output layer is a continuous variable, an identity function was used.
The final predicted value was obtained using the above process. The difference between the predicted value y and the actual value t is calculated as a loss function. To minimize the difference between these values, the function is updated to have the minimum value based on the differential value for each weight and bias.
L o s s = i = 1 n y i t i 2
The weight update implies that the loss function is updated by the learning rate (α) based on the partial derivative value for a specific weight using the backpropagation algorithm. The deep neural network learns through a series of processes and outputs a predicted value that approximates the actual value.
W t + 1 = W t α W L o s s ( W )

2.2.2. Recurrent Neural Network

The recurrent neural network is a model specialized for sequential data structures. It has cells that can remember the information of a previous point in the hidden layer of the most basic deep neural network. Therefore, it is suitable for time-series data because it is designed to remember information from the past and influence future events. Figure 1a shows an image of the RNN model, and the formula is shown in Equation (10) [24].
h t = t a n h W h h t 1 + W x h t + b
Its network structure reflects past time; however, it has a vanishing gradient problem that prevents it from accurately reflecting the information about the time that existed a long time ago as the time point becomes longer [25]. To address this problem, LSTM, which has a structure that can learn long-term dependence, was built. It contains the same hidden layer as the RNN structure; however, its internal structure differs. In LSTM, a memory cell c exists. This cell has a forget gate that determines how much previous information is reflected, an input gate that includes new information g, which indicates how much new information is reflected, and an output gate that indicates how much previous information is transferred to the next layer. The activation functions used at this time were the sigmoid function and the hyperbolic tangent. Information about the past is delivered by passing through three gates and memory cells. Through this, the gradient loss problem can be solved. Each gate follows Equation (11). Figure 1b shows the LSTM model [26].
f t = σ ( x t W x , f + h t 1 W h , f + b f ) g t = tanh x t W x , g + h t 1 W h , g + b g i t = σ ( x t W x , i + h t 1 W x , i + b i ) o t = σ ( x t W x , o + h t 1 W x , o + b o ) c t = f t c t 1 + g t i t h t = o t t a n h ( c t )
LSTM can solve the gradient loss problem in RNN; however, when going to the next step, LSTM goes through four operation processes if only one operation is performed. Processing big data may be inefficient because the number of computations increases fourfold. Complementing this, the gated recurrent unit (GRU) transmits a value to the next layer through three calculation processes in one layer. The GRU integrates the forget and input gates in the LSTM to create an update gate. In addition, it replaces the output gate with a reset gate, which determines the amount of previous information to be forgotten. The update gate determines how long the previous information should be kept. Through Equation (12), the network learns while transferring to the next layer. Figure 1c shows an image of the GRU model [27].
r t = σ ( x t W x , r + h t 1 W h , r + b r ) z t = σ ( x t W x , z + h t 1 W h , z + h z ) g t = t a n h ( x t W x , g + ( r t h t 1 ) W h , g + b g ) h t = 1 z t g t + z t h t 1
The software reliability model proposed in this study adds a deep neural network layer to add training depth to the predicted model, which reflects the past viewpoint through the hidden layer of the recurrent neural network. It proposes a learning model that goes through a deeper hidden layer to reflect the results of the past rather than just reflecting the past time of RNN series. This allows us to propose a software reliability model that can be generalized by solving problems that are only well suited to special cases of previously developed software reliability models. Among the software reliability models using deep learning, DNNs have three hidden layers, and RNNs have two. The number of nodes in the hidden layer was configured as the number of data points. Based on the given data, the number of nodes in the model should be limited to the number of data points to avoid estimating too many parameters compared to the data. The parameter optimization method used in the software reliability model using deep learning is Adam. Adam is a deep learning optimization method that combines the momentum method, which uses the acceleration of previous training, and the RMSprop method, which has a structure where the learning rate changes with each training instead of being constant. The formula is as follows:
u t + 1 = β 1 u t + ( 1 β 1 ) L o s s ( W ) W , s t + 1 = β 1 s t + ( 1 β 2 ) L o s s ( W ) W 2 W t + 1 = W t α u ^ t s ^ t + ϵ
Let β1 and β2 be an exponential moving average of momentum and RMSprop. After obtaining the parameters u and s of momentum and RMSprop, update the weights by the learning rate α. In this study, to optimize the hyper-parameters, we set a range of hyper-parameters and iterated to find the optimal results. We want to find the optimal value by increasing the learning rate α by 5-times units from 0.0000001 to 0.01, and utilizing β1 and β2 of 0.9 and 0.99, respectively. Figure 2 shows the software reliability model that combines recurrent neural network types and deep neural networks among software reliability models using deep learning.

3. Numerical Example

3.1. Data Information

The dataset used in this study is the software failure data from PLC4X (https://plc4x.apache.org, accessed on 7 February 2022)) and Apache Camel (http://camel.apache.org, accessed on 7 February 2022). Dataset 1 is from PLC4X, which is a set of libraries for communicating with industrial programmable logic controllers (PLCs) using a variety of protocols with a shared API. The data represent the cumulative number of failures occurring between December 2017 and January 2022. Dataset 2 is from Apache Camel, which is an open-source integration framework that empowers you to quickly and easily integrate various systems consuming or producing data. Dataset 2 presents the cumulative number of failures between April 2011 and January 2022. Table A1 and Table A2 show datasets 1 and 2. The software uses the Apache IoTDB (Database for the Internet of Things), which is a native IoT database with high performance for data management and analysis, deployable on the edge and in the cloud. Errors, such as bugs, code modifications, and database management errors, were recorded. It records defects and failures caused by bugs, new features, improvements, and tasks while operating the Apache IoTDB and is intended to estimate and predict software reliability models. Both datasets 1 and 2 used 80% and 90% of the entire data, which were utilized as training data necessary for training and parameter estimation, respectively. The remaining 20% and 10% of the data were used to compare predictions by substituting them for the training and estimated models.

3.2. Criteria

The software reliability models utilizing NHPP and deep learning were compared using 11 criteria based on the difference between the actual and predicted values. The mean squared error (MSE) and mean absolute error (MAE) were defined as the sum of the squared distances and absolute values of the distances between the estimated and actual values, divided by the difference between the number of observations and parameters [28,29].
M S E = i = 1 n m ^ t i y i 2 n m , M A E = i = 1 n m ^ t i y i n m
The predictive ratio risk (PRR) was defined by dividing the distance between the actual and predicted values by the predicted value, and the predictive power (PP) was defined by dividing the distance between the actual and predicted values by the actual value [30].
P R R = i = 1 n m ^ t i y i m ^ t i 2 , P P = i = 1 n m ^ t i y i y i 2
R2 is the coefficient of determination of the regression equation and determines the explanatory power by considering the number of parameters [31].
R 2 = 1 i = 1 n m ^ t i y i 2 i = 1 n ( y i y i ¯ ) 2
The predicted relative variation (PRV) is the standard deviation of the prediction bias, where the bias is i = 1 n m ^ t i y i n and defined as [32]:
P R V = i = 1 n y i m ^ t i B i a s 2 n 1 .
The root mean square prediction error (RMSPE) estimates the closeness with which the model predicts the observations [32]:
R M S P E = V a r i a n c e 2 + B i a s 2 .
The mean error of prediction (MEOP) sums the absolute value of the deviation between the actual data and the estimated curve and is defined as [29]:
M E O P = i = 1 n m ^ t i y i n m + 1 .
The Theil statistic (TS) is the average percentage of deviation over all periods with respect to the actual values. This is defined as follows [29]:
T S = 100 i = 1 n y i m ^ t i 2 i = 1 n y i 2 % .
This criterion increases the penalty when a parameter is added to the model for a small sample [33].
P C = n m 2 log i = 1 n m ^ t i y i 2 n + m n 1 n m
The preSSE (predicted sum squared error) refers to the sum of the differences between the predicted result value and the actual value, and the degree of estimation can be identified [34].
p r e S S E = i = k + 1 n m ^ t i y i 2
Based on the above criteria, we compared the software reliability model utilizing NHPP with that using deep learning. For the same comparison, the number of criterion parameters affected by the number of parameters was set to zero. The closer R2 is to 1, the better the result, and the closer it is to 0 for the other 10 criteria, the better the result. The goodness of the model fit was compared by calculating the criteria using R and MATLAB R2018b.

3.3. Results

3.3.1. Results of Dataset 1

Using Dataset 1, Table 2 shows the results of the parameter estimation of the software reliability model assuming NHPP and the structure of the software reliability model using deep learning. In addition, Dataset 1 was divided into 80% and 90%, and parameter estimation and model fitting were performed on the divided dataset. The structure of the software reliability model using deep learning consisted of three hidden layers, and the number of nodes in each layer was set according to the size of the training dataset. For the software reliability model of the recurrent neural network type, two deep neural networks were added, except for the recurrent neural network hidden layer. Here, Adam was used as the optimization method. The learning rate was set to 0.005 for the DNN and 0.0001 for the RNN, LSTM, and GRU.
Table 3 lists the result values of the criteria using 80% of Dataset 1. The values for MSE, PRV, RMSPE, TS, and PC in LSTM were the lowest at 2.0069, 0.1345, 1.4168, 4.9250, and 14.5574, respectively. GRU showed the lowest values of 0.6706 and 1.1032 in PRR and PP, and the lowest values of MAE and MEOP of 1.21164 and 1.186 were observed in UDPF, respectively. The R2 value was the highest for LSTM and GRU at 0.9929. In LSTM, 6 out of 10 criteria showed good results. For the predictions of 10% and 20%, the DPF model with a preSSE value of 47.645 had the lowest result among the software reliability models assuming NHPP. In contrast, most software reliability models using deep learning showed values in the 20-point range, and the LSTM model showed the smallest value of 21.570.
Table 4 lists the result values of the criteria using 90% of Dataset 1. MSE, RMSPE, TS, and PC were the lowest in GRU at 1.9961, 0.9948, 1.413, 4.1991, and 16.1831, respectively, and PRV was the smallest in LSTM at 0.1251. In addition, PRR and PP in UDPF showed the lowest values of 0.6386 and 0.9113, and MAE and MEOP were 1.3714 and 1.3409 in DPF, respectively. The R2 value was the largest at 0.9948. In GRU, 5 out of 10 criteria showed good results. In preSSE, the TC, DS, and Vtub models showed very small values of 6.367, 6.537, and 7.340, respectively. In the software reliability model using deep learning, RNN showed the smallest value of 11.397, followed by LSTM at 11.755. The resulting values showed good results for the software reliability model, assuming NHPP.

3.3.2. Results of Dataset 2

Using Dataset 2, Table 5 shows the results of the parameter estimation of the software reliability model assuming NHPP and the structure of the software reliability model using deep learning. Similar to Dataset 1, Dataset 2 was divided into 80% and 90%, and parameter estimation and model fitting were performed on the divided dataset. The structure of the software reliability model using deep learning consists of three hidden layers, as in Dataset 1, and the number of nodes in each layer was set according to the size of the training dataset. The learning rates were set to 0.000001 for DNN and 0.00001 for RNN, LSTM, and GRU.
Table 6 shows the result values of the criteria using 80% of Dataset 2. The values of MSE, MAE, PRV, RMSPE, MEOP, TS, and PC in GRU were the lowest at 4.5494, 2.0688, 0.5218, 2.1336, 2.0489, 2.2311, and 79.0128, respectively, and R2 of 0.9988 in GRU and LSTM appeared the highest. PRR showed the lowest value of 1.5342 in DNN, and PP showed the smallest value of 1.7716 in TP. In GRU, 8 out of 10 criteria showed good results. Among the software reliability models assuming NHPP, the model with the lowest result was the Vtub model, with a preSSE value of 159,551.23. In contrast, most software reliability models using deep learning showed smaller values than the existing software reliability models; among them, the RNN model showed the smallest value of 71.06.
Table 7 shows the result values for the criteria using 90% of Dataset 2. MSE, PRV, RMSPE, TS, and PC showed the smallest values of 8.8655, 0.9189, 2.9787, 2.3336, and 1237.5573, respectively, in GRU, and R2 showed the largest value of 0.9988 in the same model. MAE and MEOP had the smallest values of 2.8168 and 2.7928, respectively, in RNN. PRR was 1.6236 in DNN, and PP was the smallest at 1.4301 in Vtub. In GRU, 6 out of 10 criteria showed good results. Regarding the preSSE value, the GRU model showed the smallest value of 468.03 among the software reliability models using deep learning.
Figure 3 and Figure 4 are graphs that combine the estimated and trained values for 80% and 90% of the data above with the predicted values for the remaining 20% and 10%. The points before the black line are estimated values, and the points after the black line are predicted values.

3.4. Confidence Interval

In this study, GRU, the software reliability model that showed the best results among the proposed models, was used to obtain the confidence interval. In addition, the difference in the distribution between the predicted and actual data values of the other models was compared. The confidence interval follows Equation (22). Since software failures follow a Poisson distribution, we take the mean and variance as m ^ t . z α is defined as the 100( 1 α )/2 percentile of the standard normal distribution [35]. A 95% confidence interval was used.
m ^ t + z α m ^ t
Table A3 and Table A4 show the predicted values and corresponding confidence intervals for the remaining 20% and 10% of the data based on the estimated and trained models for 80% and 90% of Dataset 1. The bolded values indicate that the actual data values do not fall within the prediction intervals. For 80% of Dataset 1, the other NHPP software reliability models, except for PNZ, PZ, and Vtub, and the software reliability models using deep learning, predicted well within the 95% confidence interval. For 90% of Dataset 1, the other NHPP software reliability models (except PNZ, PZ, TP, and UDPF) and the software reliability models using deep learning performed well within the 95% confidence interval.
Table A5 and Table A6 show the predicted values and corresponding confidence intervals for the remaining 20% and 10% of the data based on the estimated and trained models for 80% and 90% of Dataset 2. For 80% of Dataset 2, the GO, PNZ, and TP models showed results where the actual data was not within the prediction confidence interval at all, while the DS model showed results where the actual data was within the 95% prediction confidence interval up to the 108th time, the YID, TC, DPF, and UDPF models up to the 109th time, and the PZ, Vtub model up to the 110th time. For 90% of Dataset 2, the NHPP software reliability models showed that the PZ, Vtub, DPF, and UDPF models resulted in the actual data falling within the 95% prediction confidence interval up to the 118th time. Except for the PZ, Vtub, DPF, and UDPF models, none of the NHPP software reliability models had the actual data fall within the predicted confidence interval. The software reliability models using deep learning performed well, with predictions within the 95% confidence interval. Except for the models that do not fall within the 95% confidence intervals shown in Table A3, Table A4, Table A5 and Table A6, the remaining models showed good results in following the data trend, and the software reliability models using deep learning showed good estimation and prediction results in following the data trend.

4. Conclusions

In this study, the software reliability models using NHPP and deep learning were compared. Regarding the software reliability model using deep learning, a model composed of deep neural networks and recurrent neural networks (RNN, LSTM, and GRU) that have been applied to time-series data characteristics was used. It was constructed by including the hidden layer of the neural network. Using Datasets 1 and 2, it was confirmed that this model showed better estimation and predictive power than existing software reliability models. Among them, the software reliability of the recurrent neural network series showed better results, and as a result of fitting with 80% and 90% datasets, the software reliability model with the deep neural network added to the GRU showed the best results. In addition, the software reliability model of the recurrent neural network showed good results when the predicted values were compared with the remaining datasets. The NHPP software reliability model showed results that relatively fit the data well with a small number of time points; however, it showed a significant increase as the number of time points increased. On the other hand, the software neural network using deep learning showed results that fit the data trend well, even when the time point was large.
However, software reliability models using deep learning always face the problem of overfitting. Therefore, to address this, we plan to conduct research on software reliability models based on mathematical and statistical assumptions by grafting them together with the NHPP software reliability models. Through this, we aim to create a stable, data-dependent, and complementary model with a more mathematical basis.

Author Contributions

Conceptualization, K.Y.S. and I.H.C.; funding acquisition, K.Y.S. and I.H.C.; software, Y.S.K.; writing—original draft, Y.S.K.; writing—review and editing, K.Y.S. and I.H.C. All authors have read and agreed to the published version of the manuscript.

Funding

This research was supported by the Basic Science Research Program through the National Research Foundation of Korea (NRF), funded by the Ministry of Education (NRF-2021R1F1A1048592, NRF-2021R1I1A1A01059842).

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Data is available in a publicly accessible repository.

Acknowledgments

This study was supported by the National Research Foundation of Korea (NRF).

Conflicts of Interest

The authors declare no conflict of interest.

Appendix A

Table A1. Cumulative number of software failures in Dataset 1.
Table A1. Cumulative number of software failures in Dataset 1.
IndexFailuresCumulative FailuresIndexFailuresCumulative FailuresIndexFailuresCumulative Failures
1331841935049
2031912036150
3142042437252
4042102438355
5042202439156
6042302440258
7042422641058
8042502642058
9042612743159
10262712844463
11282853345265
123112923546166
130113023747268
142133123948371
150133224149374
162153344550276
1701534449
Table A2. Cumulative number of software failures in Dataset 2.
Table A2. Cumulative number of software failures in Dataset 2.
IndexFailuresCumulative FailuresIndexFailuresCumulative FailuresIndexFailuresCumulative FailuresIndexFailuresCumulative Failures
11134025670851003197
20135126681861016203
31236026692881023206
40237026703911036212
52438127711921049221
60439027723951056227
704403307361011063230
8154133374911010712242
905421347521121086248
10054323676611810913261
1116443397731211108269
12064503978412511110279
1306466457941291125284
1428475508041331133287
15084845481013311411298
16194925682313611515313
17095015783113711612325
182115105784414111710335
191125236085114211815350
200125316186014211916366
211135416287314512012378
22215553658841491218386
232175616689315212212398
24017571679061581238406
25017582699171651246412
260175937292617112510422
270176037593217312610432
281186117694417712717449
29119622789551821286455
301206307896118312921476
313236438197318613026502
3222565182986192
3302566385992194
Table A3. 95% Prediction confidence interval of software reliability models from 80% of Dataset 1.
Table A3. 95% Prediction confidence interval of software reliability models from 80% of Dataset 1.
TimeRealGODSYID
PredictionUpperLowerPredictionUpperLowerPredictionUpperLower
405849.9863.8436.1357.5872.4642.7159.0474.1043.98
415851.2265.2437.1959.5174.6344.3961.4476.8046.07
425852.4566.6438.2661.4476.8046.0863.8879.5448.21
435953.6868.0439.3263.3678.9647.7666.3682.3350.39
446354.9169.4440.3965.2781.1049.4368.8885.1552.62
456556.1470.8341.4667.1783.2351.1171.4588.0154.88
466657.3772.2242.5369.0685.3552.7774.0590.9257.19
476858.6073.6043.6070.9487.4554.4376.7093.8659.53
487159.8374.9944.6772.8189.5456.0979.3896.8561.92
497461.0576.3745.7474.6791.6157.7382.1199.8764.35
TimeRealPNZPZTP
PredictionUpperLowerPredictionUpperLowerPredictionUpperLower
4058163.96189.05138.8628.5138.9718.0458.2873.2443.31
4158168.86194.33143.3929.8740.5819.1660.4775.7145.23
4258173.80199.64147.9631.2842.2420.3162.6978.2147.17
4359178.77204.97152.5632.7343.9421.5264.9380.7249.13
4463183.77210.34157.2034.2445.7022.7767.1983.2651.13
4565188.81215.74161.8835.7947.5224.0669.4885.8153.14
4666193.88221.17166.5937.4049.3825.4171.7888.3955.18
4768198.98226.63171.3339.0551.3026.8074.1190.9957.24
4871204.12232.12176.1140.7653.2828.2576.4693.6059.32
4974209.28237.64180.9342.5355.3129.7578.8396.2461.43
TimeRealTCVtubDPF
PredictionUpperLowerPredictionUpperLowerPredictionUpperLower
405857.8472.7542.9429.6440.3118.9758.9473.9843.89
415859.5374.6544.4031.0041.9120.0861.3376.6845.98
425861.1376.4545.8032.3843.5421.2363.7879.4348.13
435962.6478.1547.1333.8045.1922.4066.2882.2350.32
446364.0779.7648.3835.2346.8723.6068.8285.0852.56
456565.4281.2749.5736.6948.5724.8271.4187.9754.85
466666.6882.6850.6738.1850.2926.0774.0590.9257.19
476867.8684.0051.7139.6852.0227.3376.7593.9259.57
487168.9585.2352.6841.2053.7828.6279.4996.9662.01
497469.9786.3653.5742.7455.5529.9282.28100.0664.50
TimeRealUDPFDNNRNN
PredictionUpperLowerPredictionUpperLowerPredictionUpperLower
405862.6878.1947.1660.0175.2044.8359.4674.5744.34
415864.9780.7749.1859.0274.0743.9659.2474.3244.15
425867.2983.3751.2159.0274.0743.9659.1974.2744.11
435969.6285.9753.2661.0176.3245.7060.2475.4545.03
446371.9688.5855.3364.3980.1248.6664.7180.4848.95
456574.3191.2057.4167.0183.0650.9766.6482.6450.64
466676.6793.8359.5068.0184.1851.8567.4183.5051.32
476879.0396.4661.6170.0186.4153.6169.4485.7753.11
487181.4199.1063.7371.7088.3055.1172.6589.3555.94
497483.79101.7365.8574.7091.6557.7675.8292.8858.75
TimeRealLSTMGRU
PredictionUpperLowerPredictionUpperLower
405859.5174.6344.3959.7274.8644.57
415859.4274.5344.3159.2774.3644.18
425859.3674.4644.2659.1374.2044.06
435960.3375.5545.1060.2675.4745.04
446364.5380.2748.7864.7880.5649.00
456566.5382.5250.5566.7882.8050.77
466667.4683.5551.3667.5483.6551.43
476869.4585.7853.1169.7086.0653.34
487172.5489.2455.8572.6189.3155.91
497475.5592.5858.5175.5092.5358.47
Table A4. 95% Prediction confidence interval of software reliability models from 90% of Dataset 1.
Table A4. 95% Prediction confidence interval of software reliability models from 90% of Dataset 1.
TimeRealGODSYID
PredictionUpperLowerPredictionUpperLowerPredictionUpperLower
456558.3573.3243.3865.0280.8249.2166.1382.0750.19
466659.6474.7844.5066.7382.7450.7268.1384.3151.96
476860.9376.2345.6368.4284.6352.2170.1586.5653.73
487162.2277.6846.7670.1086.5153.6972.1788.8255.52
497463.5179.1447.8971.7688.3655.1674.1991.0857.31
TimeRealPNZPZTP
PredictionUpperLowerPredictionUpperLowerPredictionUpperLower
456568.2984.4952.1089.44107.9870.9035.1646.7823.54
466669.8686.2553.4890.03108.6271.4336.2848.0924.48
476871.3887.9454.8290.57109.2371.9237.4049.3925.41
487172.8589.5856.1291.08109.7972.3838.5150.6726.35
497474.2791.1657.3891.55110.3172.8039.6151.9527.28
TimeRealTCVtubDPF
PredictionUpperLowerPredictionUpperLowerPredictionUpperLower
456565.7681.6549.8665.8981.8049.9863.7179.3548.06
466667.6683.7851.5367.7883.9151.6464.8280.6049.04
476869.5685.9053.2169.6686.0253.3065.8581.7549.94
487171.4588.0254.8971.5388.1154.9566.8082.8250.78
497473.3590.1356.5673.3990.1956.6067.6883.8151.56
TimeRealUDPFDNNRNN
PredictionUpperLowerPredictionUpperLowerPredictionUpperLower
456583.99101.9566.0366.7282.7350.7166.5282.5050.53
466685.64103.7867.5168.5784.8052.3467.4383.5251.33
476887.28105.5968.9769.7286.0853.3569.4585.7853.11
487188.89107.3670.4171.7088.3055.1172.5489.2355.85
497490.47109.1171.8374.7091.6457.7675.6192.6558.57
TimeRealLSTMGRU
PredictionUpperLowerPredictionUpperLower
456566.5582.5450.5666.5282.5150.54
466667.4683.5651.3767.4583.5551.36
476869.5085.8453.1669.5085.8453.16
487172.5789.2755.8772.6189.3155.91
497475.5892.6258.5475.6992.7458.64
Table A5. 95% Prediction confidence interval of software reliability models from 80% of Dataset 2.
Table A5. 95% Prediction confidence interval of software reliability models from 80% of Dataset 2.
TimeRealGODSYID
PredictionUpperLowerPredictionUpperLowerPredictionUpperLower
104221162.41187.39137.43210.86239.32182.40212.33240.89183.77
105227163.96189.06138.87214.68243.40185.96216.29245.12187.47
106230165.52190.73140.30218.53247.50189.55220.29249.38191.20
107242167.07192.40141.74222.40251.63193.17224.32253.67194.96
108248168.62194.07143.17226.31255.79196.82228.38258.00198.76
109261170.18195.74144.61230.24259.98200.50232.48262.36202.60
110269171.73197.41146.04234.21264.20204.21236.61266.76206.47
111279173.28199.08147.48238.20268.45207.95240.78271.20210.37
112284174.83200.75148.92242.22272.73211.72244.99275.67214.31
113287176.38202.41150.35246.27277.03215.52249.23280.17218.28
114298177.94204.08151.79250.35281.37219.34253.50284.71222.29
115313179.49205.75153.23254.46285.73223.20257.81289.28226.34
116325181.04207.41154.67258.60290.12227.08262.15293.88230.41
117335182.59209.08156.11262.76294.53230.99266.53298.52234.53
118350184.14210.74157.54266.96298.98234.93270.94303.20238.68
119366185.69212.40158.98271.18303.45238.90275.38307.91242.86
120378187.24214.06160.42275.42307.95242.90279.86312.65247.07
121386188.79215.73161.86279.70312.48246.92284.38317.43251.33
122398190.35217.39163.30284.00317.03250.97288.93322.24255.61
123406191.90219.05164.74288.34321.62255.05293.51327.09259.93
124412193.45220.71166.19292.69326.23259.16298.13331.97264.28
125422195.00222.37167.63297.08330.86263.30302.78336.88268.67
126432196.55224.02169.07301.49335.53267.46307.46341.83273.10
127449198.10225.68170.51305.93340.22271.65312.18346.81277.55
128455199.65227.34171.95310.40344.93275.87316.94351.83282.04
129476201.19229.00173.39314.90349.68280.11321.73356.88286.57
TimeRealPNZPZTP
PredictionUpperLowerPredictionUpperLowerPredictionUpperLower
104221487.7756531.063444.488215.524244.299186.75054.7969.3040.28
105227495.2823538.902451.663219.663248.712190.61455.6170.2340.99
106230502.8471546.799458.896223.824253.147194.50156.4371.1641.71
107242510.4698554.753466.186228.005257.600198.40957.2672.1042.43
108248518.1506562.766473.535232.205262.072202.33858.1073.0443.16
109261525.8893570.837480.942236.421266.558206.28458.9473.9943.90
110269533.6859578.965488.407240.654271.059210.24859.7974.9544.64
111279541.5405587.152495.929244.900275.572214.22760.6575.9145.38
112284549.4528595.396503.510249.157280.095218.21961.5176.8846.14
113287557.423603.698511.148253.425284.627222.22362.3877.8646.90
114298565.4509612.058518.844257.701289.165226.23763.2578.8447.67
115313573.5364620.476526.597261.983293.708230.25964.1479.8348.44
116325581.6795628.951534.408266.270298.253234.28865.0380.8349.22
117335589.88637.483542.277270.560302.800238.32165.9281.8450.01
118350598.138646.073550.203274.851307.345242.35666.8282.8550.80
119366606.4533654.721558.186279.140311.887246.39367.7383.8751.60
120378614.8259663.425566.226283.427316.424250.43068.6584.8952.41
121386623.2555672.187574.324287.709320.954254.46369.5785.9253.23
122398631.7421681.006582.479291.984325.476258.49370.5186.9654.05
123406640.2856689.881590.690296.251329.987262.51671.4488.0154.88
124412648.8858698.813598.958300.508334.485266.53172.3989.0655.71
125422657.5427707.802607.283304.753338.969270.53773.3490.1356.56
126432666.256716.847615.665308.985343.437274.53274.3091.2057.41
127449675.0257725.949624.102313.200347.888278.51375.2792.2758.26
128455683.8516735.107632.596317.399352.318282.48076.2493.3659.13
129476692.7334744.320641.147321.579356.727286.43177.2394.4560.00
TimeRealTCVtubDPF
PredictionUpperLowerPredictionUpperLowerPredictionUpperLower
104221212.53241.10183.96215.13243.88186.38210.95239.42182.48
105227216.44245.27187.60219.32248.34190.29214.13242.82185.45
106230220.38249.48191.28223.54252.85194.24217.27246.16188.38
107242224.35253.71194.99227.80257.39198.22220.36249.46191.27
108248228.35257.97198.73232.10261.97202.24223.41252.70194.11
109261232.38262.26202.50236.44266.58206.30226.40255.89196.91
110269236.44266.58206.30240.82271.23210.40229.34259.02199.66
111279240.53270.93210.13245.23275.92214.53232.23262.09202.36
112284244.65275.31213.99249.67280.64218.70235.06265.11205.01
113287248.80279.71217.88254.16285.40222.91237.83268.06207.61
114298252.97284.15221.80258.67290.20227.15240.55270.95210.15
115313257.18288.61225.75263.23295.03231.43243.21273.78212.65
116325261.41293.10229.72267.81299.89235.74245.81276.54215.09
117335265.68297.62233.73272.44304.79240.09248.36279.25217.47
118350269.97302.17237.76277.09309.72244.47250.84281.89219.80
119366274.29306.75241.82281.78314.68248.88253.27284.46222.08
120378278.63311.35245.91286.51319.68253.33255.63286.97224.30
121386283.01315.98250.03291.26324.71257.81257.94289.42226.46
122398287.41320.64254.18296.05329.78262.33260.19291.80228.57
123406291.84325.32258.35300.87334.87266.87262.37294.12230.63
124412296.29330.03262.55305.72340.00271.45264.50296.38232.63
125422300.77334.77266.78310.61345.15276.07266.57298.57234.57
126432305.28339.53271.04315.52350.34280.71268.58300.70236.46
127449309.82344.32275.32320.47355.56285.38270.54302.77238.30
128455314.38349.13279.63325.44360.80290.09272.43304.78240.08
129476318.97353.97283.96330.45366.08294.82274.27306.73241.81
TimeRealUDPFDNNRNN
PredictionUpperLowerPredictionUpperLowerPredictionUpperLower
104221207.30235.52179.08224.90254.29195.51223.38252.67194.09
105227210.58239.02182.13231.12260.92201.32229.02258.68199.36
106230213.86242.52185.20232.86262.76202.95233.04262.96203.12
107242217.14246.02188.26245.66276.38214.94243.36273.94212.78
108248220.43249.53191.33252.12283.24221.00249.67280.64218.70
109261223.72253.03194.40264.58296.46232.70262.29294.03230.54
110269227.01256.54197.48272.98305.36240.59270.43302.66238.20
111279230.30260.05200.56282.82315.78249.86280.34313.16247.52
112284233.60263.55203.64288.04321.30254.77285.86319.00252.72
113287236.89267.06206.73289.86323.22256.49289.90323.27256.53
114298240.19270.56209.81301.74335.79267.69299.40333.31265.48
115313243.48274.07212.90316.42351.28281.55314.27349.02279.52
116325246.78277.57215.99328.66364.19293.13326.29361.70290.89
117335250.08281.07219.08338.82374.90302.74336.33372.28300.39
118350253.37284.57222.17353.42390.27316.57351.27388.01314.54
119366256.67288.07225.27369.34407.00331.67367.27404.83329.71
120378259.96291.56228.36381.66419.95343.37379.29417.46341.12
121386263.25295.06231.45389.98428.68351.27387.43426.01348.85
122398266.54298.54234.55401.66440.94362.38399.30438.46360.13
123406269.83302.03237.64409.98449.66370.29407.43446.99367.87
124412273.12305.51240.73416.12456.10376.14413.69453.55373.82
125422276.41308.99243.82425.82466.27385.37423.36463.68383.03
126432279.69312.47246.91435.82476.74394.90433.34474.14392.54
127449282.97315.94250.00452.26493.94410.57450.27491.86408.68
128455286.24319.40253.08459.12501.12417.12456.64498.53414.76
129476289.52322.86256.17478.93521.83436.04477.26520.08434.44
TimeRealLSTMGRU
PredictionUpperLowerPredictionUpperLower
104221224.52253.89195.15224.46253.82195.09
105227230.52260.27200.76230.47260.23200.72
106230233.63263.59203.67233.09263.02203.17
107242245.44276.14214.73245.49276.20214.78
108248251.49282.58220.41251.49282.58220.41
109261264.28296.14232.42264.73296.62232.84
110269272.32304.67239.98272.77305.14240.40
111279282.19315.11249.26282.79315.75249.83
112284287.44320.67254.21287.72320.96254.47
113287290.57323.98257.16290.25323.64256.86
114298301.38335.41267.36301.60335.64267.56
115313316.31351.17281.46316.73351.62281.85
116325328.25363.76292.74328.79364.33293.25
117335338.21374.25302.16338.78374.85302.70
118350353.18390.02316.35353.75390.62316.89
119366369.30406.97331.64369.74407.43332.05
120378381.25419.52342.98381.69419.98343.40
121386389.30427.97350.63389.72428.41351.02
122398401.13440.39361.88401.67440.96362.39
123406409.25448.90369.60409.70449.38370.03
124412415.37455.31375.42415.78455.75375.82
125422425.18465.59384.76425.76466.20385.32
126432435.14476.03394.26435.72476.64394.81
127449452.25493.93410.56452.72494.43411.02
128455458.45500.42416.49458.79500.77416.81
129476479.47522.38436.55479.79522.72436.86
Table A6. 95% Prediction confidence interval of software reliability models from 90% of Dataset 2.
Table A6. 95% Prediction confidence interval of software reliability models from 90% of Dataset 2.
TimeRealGODSYID
PredictionUpperLowerPredictionUpperLowerPredictionUpperLower
117335215.85244.65187.06284.80317.88251.73285.07318.16251.98
118350217.69246.61188.77289.52322.87256.17289.81323.18256.45
119366219.53248.57190.49294.27327.89260.65294.59328.24260.95
120378221.37250.53192.21299.06332.95265.16299.41333.33265.50
121386223.21252.49193.93303.88338.05269.71304.26338.45270.08
122398225.05254.45195.65308.74343.18274.30309.16343.62274.69
123406226.89256.41197.37313.63348.34278.92314.08348.82279.35
124412228.73258.37199.08318.56353.54283.58319.05354.05284.04
125422230.57260.33200.80323.52358.78288.27324.05359.33288.76
126432232.40262.28202.53328.52364.05293.00329.08364.64293.53
127449234.24264.24204.25333.56369.35297.76334.16369.98298.33
128455236.08266.20205.97338.63374.69302.56339.27375.37303.16
129476237.92268.15207.69343.73380.07307.39344.41380.79308.04
TimeRealPNZPZTP
PredictionUpperLowerPredictionUpperLowerPredictionUpperLower
117335637.8859687.388588.383312.9409347.614178.3674.0290.8857.15
118350648.5408698.455598.627320.3052355.383179.1674.9991.9658.01
119366659.313709.640608.986327.825363.313179.9575.9793.0558.88
120378670.2031720.944619.462335.505371.406180.7476.9594.1459.76
121386681.2118732.368630.056343.347379.665181.5177.9495.2460.64
122398692.3398743.912640.768351.355388.094182.2878.9496.3561.52
123406703.5877755.577651.598359.532396.697183.0479.9497.4762.42
124412714.956767.364662.548367.883405.476183.7980.9598.5963.32
125422726.4455779.273673.618376.411414.437184.5481.9799.7264.23
126432738.0568791.305684.809385.119423.582185.2783.00100.8565.14
127449749.7904803.460696.121394.011432.916186.0084.03101.9966.06
128455761.647815.739707.555403.091442.443186.7285.07103.1466.99
129476773.6271828.143719.111412.364452.165187.4386.11104.3067.92
TimeRealTCVtubDPF
PredictionUpperLowerPredictionUpperLowerPredictionUpperLower
117335300.84334.83266.84315.55350.37280.74314.95349.74280.17
118350306.57340.89272.26322.66357.87287.45322.44357.63287.24
119366312.37347.01277.73329.85365.45294.25330.07365.68294.46
120378318.23353.20283.27337.12373.10301.13337.86373.89301.83
121386324.15359.44288.86344.46380.84308.09345.80382.25309.35
122398330.13365.74294.51351.88388.65315.12353.90390.77317.03
123406336.16372.10300.23359.37396.53322.22362.16399.46324.86
124412342.26378.52306.00366.93404.48329.39370.58408.31332.85
125422348.42385.00311.83374.56412.49336.63379.17417.33341.00
126432354.63391.54317.72382.25420.57343.93387.92426.52349.31
127449360.91398.14323.67389.99428.70351.29396.83435.88357.79
128455367.25404.81329.69397.79436.89358.70405.92445.41366.43
129476373.64411.53335.76405.65445.12366.17415.18455.12375.25
TimeRealUDPFDNNRNN
PredictionUpperLowerPredictionUpperLowerPredictionUpperLower
117335313.06347.74278.38342.30378.56306.04344.31380.68307.94
118350319.88354.94284.83357.85394.93320.77359.54396.70322.38
119366326.81362.24291.37373.93411.83336.03375.59413.58337.61
120378333.83369.64298.02385.60424.09347.11387.48426.06348.90
121386340.96377.15304.77392.86431.70354.01395.19434.15356.22
122398348.19384.77311.62405.60445.08366.13407.38446.94367.82
123406355.53392.49318.57412.86452.68373.03415.14455.07375.20
124412362.97400.31325.63417.20457.23377.16420.72460.92380.52
125422370.52408.25332.79429.30469.91388.69431.01471.71390.32
126432378.17416.29340.06439.30480.38398.22441.16482.33400.00
127449385.93424.44347.43457.00498.90415.10458.57500.55416.60
128455393.80432.70354.91460.20502.24418.15464.02506.24421.80
129476401.78441.06362.49484.30527.43441.17485.63528.82442.44
TimeRealLSTMGRU
PredictionUpperLowerPredictionUpperLower
117335344.69381.08308.30341.00377.20304.81
118350359.89397.08322.71356.47393.48319.47
119366376.04414.05338.04372.84410.68334.99
120378388.18426.80349.56384.75423.19346.30
121386396.10435.10357.09392.09430.91353.28
122398408.02447.61368.43404.27443.68364.86
123406415.90455.87375.93411.73451.50371.95
124412421.43461.67381.20416.92456.94376.90
125422431.44472.15390.73427.32467.83386.80
126432441.49482.67400.31437.55478.54396.55
127449458.83500.81416.85455.32497.14413.50
128455464.67506.92422.42460.27502.32418.22
129476485.82529.02442.62482.13525.17439.09

References

  1. Jelinski, Z.; Moranda, P. Software reliability research. In Statistical Computer Performance Evaluation; Elsevier: Amsterdam, The Netherlands, 1972; pp. 465–484. [Google Scholar]
  2. Goel, A.L.; Okumoto, K. Time-dependent error-detection rate model for software reliability and other performance measures. IEEE Trans. Reliab. 1979, 28, 206–211. [Google Scholar] [CrossRef]
  3. Yamada, S.; Ohba, M.; Osaki, S. S-shaped reliability growth modeling for software error detection. IEEE Trans. Reliab. 1983, 32, 475–484. [Google Scholar] [CrossRef]
  4. Ohba, M. Inflection S-shaped software reliability growth model. In Stochastic Models in Reliability Theory; Osaki, S., Hatoyama, Y., Eds.; Springer: Berlin, Germany, 1984; pp. 144–162. [Google Scholar]
  5. Zhang, X.M.; Teng, X.L.; Pham, H. Considering fault removal efficiency in software reliability assessment. IEEE Trans. Syst. Man. Cybern. Part Syst. Hum. 2003, 33, 114–120. [Google Scholar] [CrossRef]
  6. Yamada, S.; Tokuno, K.; Osaki, S. Imperfect debugging models with fault introduction rate for software reliability assessment. Int. J. Syst. Sci. 1992, 23, 2241–2252. [Google Scholar] [CrossRef]
  7. Pham, H.; Zhang, X. An NHPP software reliability models and its comparison. Int. J. Reliab. Qual. Saf. Eng. 1997, 4, 269–282. [Google Scholar] [CrossRef]
  8. Pham, H.; Nordmann, L.; Zhang, X. A general imperfect software debugging model with S-shaped fault detection rate. IEEE Trans. Reliab. 1999, 48, 169–175. [Google Scholar] [CrossRef]
  9. Teng, X.; Pham, H. A new methodology for predicting software reliability in the random field environments. IEEE Trans. Reliab. 2006, 55, 458–468. [Google Scholar] [CrossRef]
  10. Kapur, P.K.; Pham, H.; Anand, S.; Yadav, K. A unified approach for developing software reliability growth models in the presence of imperfect debugging and error generation. IEEE Trans. Reliab. 2011, 60, 331–340. [Google Scholar] [CrossRef]
  11. Roy, P.; Mahapatra, G.S.; Dey, K.N. An NHPP software reliability growth model with imperfect debugging and error generation. Int. J. Reliab. Qual. Saf. Eng. 2014, 21, 1450008. [Google Scholar] [CrossRef]
  12. Chang, I.H.; Pham, H.; Lee, S.W.; Song, K.Y. A testing-coverage software reliability model with the uncertainty of operation environments. Int. J. Syst. Sci. Oper. Logist. 2014, 1, 220–227. [Google Scholar] [CrossRef]
  13. Pham, H. A new software reliability model with Vtub-Shaped fault detection rate and the uncertainty of operating environments. Optimization 2014, 63, 1481–1490. [Google Scholar] [CrossRef]
  14. Pham, L.; Pham, H. Software reliability models with time-dependent hazard function based on bayesian approach. IEEE Trans. Syst. Man, Cybern.-Part A Syst. Humans 2000, 30, 25–35. [Google Scholar] [CrossRef]
  15. Kim, Y.S.; Song, K.Y.; Pham, H.; Chang, I.H. A software reliability model with dependent failure and optimal release time. Symmetry 2022, 14, 343. [Google Scholar] [CrossRef]
  16. Lee, D.H.; Chang, I.H.; Pham, H. Software reliability growth model with dependent failures and uncertain operating environments. Appl. Sci. 2022, 12, 12383. [Google Scholar] [CrossRef]
  17. Kim, Y.S.; Chang, I.H.; Lee, D.H. Non-parametric software reliability model using deep neural network and NHPP software reliability growth model comparison. J. Korean Data Anal. Soc. 2020, 22, 2371–2382. [Google Scholar] [CrossRef]
  18. Miyamoto, S.; Tamura, Y.; Yamada, S. Reliability assessment tool based on deep learning and data preprocessing for OSS. Am. J. Oper. Res. 2022, 12, 111–125. [Google Scholar] [CrossRef]
  19. Wang, J.; Zhang, C. Software reliability prediction using a deep learning model based on the RNN encoder–decoder. Reliab. Eng. Syst. Saf. 2018, 170, 73–82. [Google Scholar] [CrossRef]
  20. Oveisi, S.; Moeini, A.; Mirzaei, S. LSTM encoder-decoder dropout model in software reliability prediction. Int. J. Reliab. Risk Saf. Theory Appl. 2021, 4, 1–12. [Google Scholar] [CrossRef]
  21. Raamesh, L.; Jothi, S.; Radhika, S. Enhancing software reliability and fault detection using hybrid brainstorm optimization-based LSTM model. IETE J. Res. 2022, 1–15. [Google Scholar] [CrossRef]
  22. Karunanithi, N.; Whitley, D.; Malaiya, Y.K. Using neural networks in reliability prediction. IEEE Softw. 1992, 9, 53–59. [Google Scholar] [CrossRef]
  23. Singh, Y.; Kumar, P. Prediction of software reliability using feed forward neural networks. In Proceedings of the 2010 International Conference on Computational Intelligence and Software Engineering, Wuhan, China, 10–12 December 2010; pp. 1–5. [Google Scholar]
  24. Graves, A. Generating sequences with recurrent neural networks. arXiv 2013, arXiv:1308.0850. [Google Scholar]
  25. Bengio, Y.; Simard, P.; Frasconi, P. Learning long-term dependencies with gradient descent is difficult. IEEE Trans. Neural Netw. 1994, 5, 157–166. [Google Scholar] [CrossRef] [PubMed]
  26. Jozefowicz, R.; Zaremba, W.; Sutskever, I. An empirical exploration of recurrent network architectures In Proceedings of the 32nd International Conference on Machine Learning (ICML-15), Lille, France, 6–11 July 2015.
  27. Gers, F.A.; Schmidhuber, J.; Cummins, F. Learning to forget: Continual prediction with LSTM. Neural Comput. 2000, 12, 2451–2471. [Google Scholar] [CrossRef]
  28. Inoue, S.; Yamada, S. Discrete software reliability assessment with discretized NHPP models. Comput. Math. Appl. 2006, 51, 161–170. [Google Scholar] [CrossRef]
  29. Askari, R.; Sebt, M.V.; Amjadian, A. A multi-product EPQ model for defective production and inspection with single machine, and operational constraints: Stochastic programming approach. Commun. Comput. Infor. Sci. 2021, 1458, 161–193. [Google Scholar]
  30. Jeske, D.R.; Zhang, X. Some successful approaches to software reliability modeling in industry. J. Syst. Softw. 2005, 74, 85–99. [Google Scholar] [CrossRef]
  31. Iqbal, J. Software reliability growth models: A comparison of linear and exponential fault content functions for study of imperfect debugging situations. Cogent Eng. 2017, 4, 1286739. [Google Scholar] [CrossRef]
  32. Pillai, K.; Sukumaran Nair, V.S. A model for software development effort and cost estimation. IEEE Trans. Softw. Eng. 1997, 23, 485–497. [Google Scholar] [CrossRef]
  33. Souza, R.L.C.; Ghasemi, A.; Saif, A.; Gharaei, A. Robust job-shop scheduling under deterministic and stochastic unavailability constraints due to preventive and corrective maintenance. Comput. Ind. Eng. 2022, 168, 108130. [Google Scholar] [CrossRef]
  34. Li, Q.; Pham, H. NHPP software reliability model considering the uncertainty of operating environments with imperfect debugging and testing coverage. Appl. Math. Model. 2017, 51, 68–85. [Google Scholar] [CrossRef]
  35. Pham, H. System Software Reliability; Springer: London, UK, 2006. [Google Scholar]
Figure 1. (a) Structure of RNN model; (b) Structure of LSTM model; (c) Structure of GRU model.
Figure 1. (a) Structure of RNN model; (b) Structure of LSTM model; (c) Structure of GRU model.
Applsci 13 06730 g001
Figure 2. Software reliability model combining DNNs and type of RNN.
Figure 2. Software reliability model combining DNNs and type of RNN.
Applsci 13 06730 g002
Figure 3. (a) Estimated and predicted value for 80% of Dataset 1; (b) Estimated and predicted value for 90% of Dataset 1.
Figure 3. (a) Estimated and predicted value for 80% of Dataset 1; (b) Estimated and predicted value for 90% of Dataset 1.
Applsci 13 06730 g003
Figure 4. (a) Estimated and predicted value for 80% of Dataset 2; (b) Estimated and predicted value for 90% of Dataset 2.
Figure 4. (a) Estimated and predicted value for 80% of Dataset 2; (b) Estimated and predicted value for 90% of Dataset 2.
Applsci 13 06730 g004
Table 1. NHPP software reliability models.
Table 1. NHPP software reliability models.
No.ModelMean Value FunctionNote
1Goel-Okumoto (GO) [2] m t = a 1 e b t Concave
2Yamada et al. (DS) [3] m t = a 1 1 + b t e b t S-shape
3Yamada et al. (YID) [6] m t = a 1 e b t 1 α b + α a t Concave
4Pham-Zhang (PZ) [7] m t = ( c + a 1 e b t a b b α e a t e b t ) 1 + β e b t Both
5Pham et al. (PNZ) [8] m t = a 1 e b t 1 α b + α a t 1 + β e b t Both
6Teng-Pham (TP) [9] m t = a p q 1 ( β β + p q ln c + e b t c + 1 ) α S-shape
7Chang et al. (TC) [12] m t = N 1 β β + a t b α Both
8Pham (Vtub) [13] m t = N 1 β β + a b t 1 α S-shape
9Kim et al. (DPF) [15] m t = a 1 + a h 1 + c c + e b t a S-shape,
Dependent
10Lee et al. (UDPF) [16] m t = N 1 β α + b t l n b t + 1 α S-shape
Dependent
Table 2. Parameter estimation and structure of model using Dataset 1.
Table 2. Parameter estimation and structure of model using Dataset 1.
No.Model80%90%
1GO a ^ = 1961.771 ,   b ^ = 0.00065 a ^ = 8717.730 ,   b ^ = 0.00015
2DS a ^ = 193.233 ,   b ^ = 0.02730 a ^ = 160.532 ,   b ^ = 0.03091
3YID a ^ = 97.401 ,   b ^ = 0.00523 , α ^ = 0.10686 a ^ = 6.230 1 ,   b ^ = 0.05319 , α ^ = 0.34770
4PZ a ^ = 431.141 ,   b ^ = 0.04005 ,   α ^ = 16.359 ,
β ^ = 27.421 ,   c ^ = 57.233
a ^ = 88.620 ,   b ^ = 0.07843 ,   α ^ = 9.0099 ,
β ^ = 12.248 ,   c ^ = 2.0246
5PNZ a ^ = 69.646 ,   b ^ = 0.01607 ,
α ^ = 0.07992 ,   β ^ = 1.0343
a ^ = 71.272 ,   b ^ = 0.08070 ,
α ^ = 0.00541 ,   β ^ = 10.183
6TP a ^ = 72.610 ,   b ^ = 0.06011 ,
α ^ = 1.8769 ,   β ^ = 0.91909 ,
c ^ = 13.7277 ,   p ^ = 0.46681 ,   q ^ = 0.09829
a ^ = 177.307 ,   b ^ = 0.08976 ,
α ^ = 0.90527 ,   β ^ = 3.2480 ,
c ^ = 7.5811 ,   p ^ = 1.5258 ,   q ^ = 0.62709
7TC a ^ = 0.01628 ,   b ^ = 1.5465 , α ^ = 1.1396 ,
β ^ = 16.708 ,   N ^ = 1713.568
a ^ = 0.02299 ,   b ^ = 1.5946 , α ^ = 4.9402 ,
β ^ = 15.240 ,   N ^ = 233.487
8Vtub a ^ = 1.0018 ,   b ^ = 1.4119 ,   α ^ = 0.18384 ,
β ^ = 9.0775 ,   N ^ = 7788.528
a ^ = 1.1086 ,   b ^ = 1.7068 ,   α ^ = 0.00730 ,
β ^ = 0.36680 ,   N ^ = 165.881
9DPF a ^ = 80.628 ,   b ^ = 0.00182 ,
c ^ = 0.41977 , h ^ = 3.1673
a ^ = 76.498 ,   b ^ = 0.00172 ,
c ^ = 0.23803 , h ^ = 3.0477
10UDPF b ^ = 1.3315 , α ^ = 39.915 ,
β ^ = 5.4535 , N ^ = 729.519
b ^ = 0.10265 . α ^ = 2.7233 ,
β ^ = 2.2206 , N ^ = 257.005
11DNNα = 0.005, hidden layers = 3, optimizer = Adam, epoch = 200
12RNNα = 0.0001, hidden layers = 2, optimizer = Adam, epoch = 200
13LSTMα = 0.0001, hidden layers = 2, optimizer = Adam, epoch = 200
14GRUα = 0.0001, hidden layers = 2, optimizer = Adam, epoch = 200
Table 3. Comparison of all criteria using 80% of Dataset 1.
Table 3. Comparison of all criteria using 80% of Dataset 1.
No.ModelMSEMAEPRRPPR2PRVRMSPEMEOPTSPCpreSSE
1GO21.19024.06014.703011.92040.92544.29444.65443.958616.003760.5184768.422
2DS3.99901.64351853.843.90280.98591.95032.02401.60246.952328.002164.894
3YID2.74041.298826.56552.43370.99041.66851.67681.26635.755220.6324454.284
4PZ2.80431.279015.23002.64490.99011.69511.69651.24715.821921.08198306.771
5PNZ2.71721.286422.50122.42530.99041.66341.66981.25435.730820.4666150,716.8
6TP2.71681.288818.38552.39260.99041.66481.66971.25665.730320.46347839.272
7TC3.11851.4057221.73523.04820.98901.76481.78841.37056.139423.1529224.970
8Vtub2.87881.3403108.5992.84160.98991.69901.71841.30685.898721.5931455.315
9DPF3.16251.36420.93861.96080.98891.79761.80151.33016.182623.426047.645
10UDPF2.54271.21640.86001.25000.99111.61541.61541.18605.543719.1722876.104
11DNN2.43731.47910.70051.17890.99140.50611.56331.44215.427518.346325.294
12RNN2.11471.41270.73801.28440.99260.34951.45531.37745.055715.578422.274
13LSTM2.00691.41040.80141.44320.99290.13451.41681.37514.925014.557421.570
14GRU2.01591.39830.67061.10320.99290.24931.42041.36344.936214.645423.872
Table 4. Comparison of all criteria using 90% of Dataset 1.
Table 4. Comparison of all criteria using 90% of Dataset 1.
No.ModelMSEMAEPRRPPR2PRVRMSPEMEOPTSPCpreSSE
1GO22.65814.31554.779713.40210.94074.44904.80714.219614.147769.6287321.655
2DS3.95691.66001636.273.78810.98961.96772.01121.62315.912231.23766.537
3YID3.55881.548858.97542.71640.99071.90011.90811.51445.606928.904411.837
4PZ3.10101.457031.23492.40080.99191.77501.78121.42465.233925.87532395.537
5PNZ3.12961.463827.10852.34030.99181.77981.78931.43135.258026.077240.741
6TP3.21081.489826.65912.36190.99161.80691.81251.45675.325726.64074948.058
7TC3.62771.5687262.66463.13260.99051.91171.92631.53385.660929.32636.367
8Vtub3.43081.533182.73692.63830.99101.86621.87351.49905.505128.09847.340
9DPF3.06821.37140.87561.79080.99201.76761.77181.34095.206125.641265.275
10UDPF2.99841.38890.63860.91130.99221.75151.75161.35815.146525.13491709.197
11DNN2.58681.50300.73271.31500.99320.57921.61071.46964.780321.886613.471
12RNN2.07311.43320.83171.54170.99460.14021.44001.40134.279417.016711.397
13LSTM2.02571.41790.75841.31920.99470.12511.42341.38644.230216.507711.755
14GRU1.99611.40610.75931.3310.99480.13921.4131.37494.199116.183112.103
Table 5. Parameter estimation and structure of model using Dataset 2.
Table 5. Parameter estimation and structure of model using Dataset 2.
No.Model80%90%
1GO a ^ = 15383.72 ,   b ^ = 0.00010 a ^ = 37605.84 ,   b ^ = 0.00005
2DS a ^ = 13332.14 ,   b ^ = 0.00182 a ^ = 53880.83 ,   b ^ = 0.00091
3YID a ^ = 49.407 ,   b ^ = 0.00121 , α ^ = 0.66627 a ^ = 10.855 ,   b ^ = 0.00145 , α ^ = 2.7890
4PZ a ^ = 564.590 , b ^ = 0.2938 ,   α ^ = 0.35523 ,
β ^ = 31.536 ,   c ^ = 0.04628
a ^ = 3566157.77 ,   b ^ = 0.02095 ,   α ^ = 0.14865 ,
β ^ = 119107.58 ,   c ^ = 3567.64
5PNZ a ^ = 166.155 b ^ = 0.01033 ,
α ^ = 0.06270 ,   β ^ = 4.2225
a ^ = 284.863 ,   b ^ = 0.01104 ,
α ^ = 0.07397 ,   β ^ = 11.590
6TP a ^ = 4.1953 ,   b ^ = 0.08837 ,
α ^ = 7.3884 ,   β ^ = 2.8696 ,
c ^ = 1.6579 ,   p ^ = 0.04236 ,   q ^ = 0.10460
a ^ = 49.417 ,   b ^ = 0.06702 ,
α ^ = 0.01198 ,   β ^ = 0.02904 ,
c ^ = 2.4430 ,   p ^ = 0.20147 ,   q ^ = 0.20537
7TC a ^ = 0.01344 , b ^ = 1.9930 , α ^ = 0.00754 ,
β ^ = 0.39594 , N ^ = 2857.101
a ^ = 0.00307 ,   b ^ = 2.22599 ,
α ^ = 4.7647 , β ^ = 118.747 ,   N ^ = 73382.23
8Vtub a ^ = 1.0005 ,   b ^ = 2.2792 ,   α ^ = 0.00754 ,
β ^ = 0.39594 , N ^ = 1562.143
a ^ = 1.0128 ,   b ^ = 1.1078 ,   α ^ = 16.018 ,
β ^ = 1060.760 , N ^ = 2049.573
9DPF a ^ = 322.915 ,   b ^ = 0.00018 ,
c ^ = 0.33127 , h ^ = 6.4475
a ^ = 994.419 ,   b ^ = 0.00005 ,
c ^ = 0.57131 , h ^ = 10.012
10UDPF b ^ = 652.600 , α ^ = 21497.41 ,
β ^ = 8.9936 , N ^ = 1804.06
b ^ = 13.526 , α ^ = 2439.458 ,
β ^ = 10.564 , N ^ = 192350.3
11DNNα =0.000001, hidden layers = 3, optimizer = Adam, epoch = 200
12RNNα = 0.00001, hidden layers = 2, optimizer = Adam, epoch = 200
13LSTMα = 0.00001, hidden layers = 2, optimizer = Adam, epoch = 200
14GRUα = 0.00001, hidden layers = 2, optimizer = Adam, epoch = 200
Table 6. Comparison of all criteria using 80% of Dataset 2.
Table 6. Comparison of all criteria using 80% of Dataset 2.
No.ModelMSEMAEPRRPPR2PRVRMSPEMEOPTSPCpreSSE
1GO514.699620.032617.3582100.8870.866421.079422.781919.840023.7311322.5348735,386.2
2DS13.70763.07402256.7008.80150.99643.68743.72023.04453.8728135.8146202,541.7
3YID12.14062.8671215.33847.11010.99683.46433.50102.83953.6447129.5631184,160.8
4PZ10.04372.53783299.7079.63310.99743.18283.18472.51343.3150119.7981174,920.2
5PNZ9.61552.44837.29131.93450.99753.11553.11602.42483.2436117.55391,643,848
6TP11.06792.64485.41841.77160.99713.33663.34302.61943.4800124.79872,037,721
7TC13.46883.04042453.5439.22520.99653.60773.68723.01123.8389134.9098189,842.4
8Vtub10.76402.74805303.1307.70070.99723.27073.29662.72163.4318123.3649159,551.2
9DPF16.63923.37895.408588.8260.99574.03984.09853.34644.2668145.7959305,246.7
10UDPF22.58013.869499.48089.71260.99414.68804.77423.83224.9705161.5192274,796.2
11DNN5.81812.17921.53424.03100.99851.03912.41432.15832.523191.6808355.63
12RNN4.82232.07392.11019.94520.99870.72552.19712.05392.297082.012371.06
13LSTM4.67122.08052.380216.19580.99880.58822.16212.06052.260880.3730290.41
14GRU4.54942.06882.10019.98410.99880.52182.13362.04892.231179.0128347.92
Table 7. Comparison of all criteria using 90% of Dataset 2.
Table 7. Comparison of all criteria using 90% of Dataset 2.
No.ModelMSEMAEPRRPPR2PRVRMSPEMEOPTSPCpreSSE
1GO1278.73330.007723.6240173.20010.825633.302035.892829.751228.0264415.9016426,981.8
2DS98.77947.02772204.0068.97420.98659.84419.98076.96767.7895267.3789114,300.6
3YID97.17816.9453840.72428.47330.98679.75969.89956.88597.7261266.4310113,140.1
4PZ27.99164.2381677.639867.58370.99625.30375.31364.20194.1466194.241826,776.2
5PNZ39.49364.796018.99563.84430.99466.26576.31134.75504.9254214.20751,165,855
6TP13.64262.92864.01081.64480.99813.69443.70952.90352.8948152.55691,390,597
7TC64.37636.634219,228.3314.46630.99127.86788.05676.57756.2884242.546665,012.80
8Vtub26.11243.85983.71691.43010.99645.12935.13223.82684.0050190.211223,868.05
9DPF50.36226.25219.2044251.45210.99317.00647.12646.19875.5620228.307428,590.91
10UDPF36.78904.72964.243747.56520.99506.08966.09174.68914.7537210.092933,114.75
11DNN11.49302.84551.62364.28550.99841.85093.39452.82112.6570142.612680.76
12RNN10.39252.81682.903222.11280.99861.57463.22712.79282.5266136.77441122.65
13LSTM11.77852.87082.950840.57780.99841.88883.43652.84632.6898144.03521251.45
14GRU8.86552.83352.874919.09240.99880.91892.97872.80922.3336127.5573468.03
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Kim, Y.S.; Song, K.Y.; Chang, I.H. Prediction and Comparative Analysis of Software Reliability Model Based on NHPP and Deep Learning. Appl. Sci. 2023, 13, 6730. https://doi.org/10.3390/app13116730

AMA Style

Kim YS, Song KY, Chang IH. Prediction and Comparative Analysis of Software Reliability Model Based on NHPP and Deep Learning. Applied Sciences. 2023; 13(11):6730. https://doi.org/10.3390/app13116730

Chicago/Turabian Style

Kim, Youn Su, Kwang Yoon Song, and In Hong Chang. 2023. "Prediction and Comparative Analysis of Software Reliability Model Based on NHPP and Deep Learning" Applied Sciences 13, no. 11: 6730. https://doi.org/10.3390/app13116730

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop