# Prediction and Comparative Analysis of Software Reliability Model Based on NHPP and Deep Learning
## 2 Software Reliability Model  
### Generalized Software Reliability 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)=\int_{t}^{\infty}f(u)du. \tag{1}\]  
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 \(\lambda\). Subsequently, we approach \(\lambda\) as an NHPP and propose a model in which \(\lambda\) 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)\). \[\mathrm{P}\{N(t)=n\}=\frac{\left\{m(t)\right\}^{n}}{n!}e^{-m(t)},n=0,1,2, \cdots,t\geq 0 \tag{2}\]\(m(t)\) is the integral of \(\lambda(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)=\int_{0}^{t}\lambda(s)ds \tag{3}\]  
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)\). \[\frac{dm(t)}{dt}=b(t)[a(t)-m(t)] \tag{4}\]  
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 \(\eta\) in Equation (4) assumes an uncertain operating environment. Here, \(\eta\) 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]. \[\frac{dm(t)}{dt}=\eta b(t)[N-m(t)] \tag{5}\]  
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:  
\[\frac{dm(t)}{dt}=b(t)[a(t)-m(t)]m(t) \tag{6}\]  
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. \begin{table}
\begin{tabular}{c c c} \hline \hline
**No. ** & **Model** & **Mean Value Function** & **Note** \\ \hline
1 & [PERSON] (GO) [2] & \(\mathrm{m}(t)=\mathrm{a}\Big{(}1-e^{-bt}\Big{)}\) & Concave \\ \hline
2 & [PERSON] et al. (DS) [3] & \(m(t)=\mathrm{a}\Big{(}1-(1+\mathrm{bt})e^{-bt}\Big{)}\) & S-shape \\ \hline
3 & [PERSON] et al. (YID) [6] & \(m(t)=\mathrm{a}\Big{(}1-e^{-bt}\Big{)}\big{(}1-\frac{\theta}{\theta}\big{)}+ \mathit{a}at\) & [PERSON] \\ \hline
4 & [PERSON] (PZ) [7] & \(m(t)=\frac{\big{(}(c+\mathrm{a})\big{[}1-e^{-bt}\big{]}\big{(}\frac{\theta}{ \theta+\mathit{a}t}\big{)}^{2}\big{(}e^{-bt}-e^{-bt}\big{)}\big{)}}{1+\beta e^{ -bt}}\) & [PERSON] \\ \hline
5 & [PERSON] et al. (PNZ) [8] & \(m(t)=\frac{\mathrm{a}\big{(}1-e^{-bt}\big{)}\big{(}1-\frac{\theta}{\theta}\big{)} +\mathit{a}at}{1+\beta e^{-bt}}\) & [PERSON] \\ \hline
6 & [PERSON] (TP) [9] & \(m(t)=\frac{a}{p-q}\Bigg{[}1-\Bigg{(}\frac{\beta}{\hat{\rho}+(p-q)\mathrm{ln} \big{(}\frac{e^{-bt}}{\tau\tau}\big{)}}\Bigg{)}^{\mathit{a}}\Bigg{]}\) & [PERSON] \\ \hline
7 & [PERSON] et al.