# Default Detection Rate-Dependent Software Reliability Model with Imperfect Debugging
## 3 Fault Detection Rate-Dependent SRGM with Imperfect Debugging
### Imperfect Debugging Type I: Unified Fault Detection and Repair Framework Model  
FDR is the result of the comprehensive application of testing technology in the software testing process. It can be modeled from the perspective of test coverage, can be set from the test workload, and can be set directly according to the actual situation. FDF is closely related to reliability modeling and measurement. In the current verifiable SRGM research, all models are based on the above assumptions To this end, a general fault detection and repair process model is proposed:  
\[\frac{dm(t)}{dt}=b(t)[a(t)-p(t)\cdot m(t)] \tag{1}\]  
In this paper, the number of faults detected at time \(t\) is considered to be proportional to the total number of faults remaining at present. The proportional coefficient is \(b(t)\), and \(p(t)\) indicates the probability of bug fixing, that is, the fault repair is incomplete. Bring the initial conditions: \(m(0  
Substituting the above equation into Equation (2), the equation about \(u(t)\) can be obtained as  
\[u^{\prime}(t)=\frac{b(t)a(t)}{e^{-\int_{0}^{t}b(t)p(t)dt}}\]  
Substituting \(u(t)\) for \(u^{\prime}(t)\) integral into the original equation, the equation about \(m(t)\) can be obtained as  
\[m(t)=Ce^{-\int_{0}^{t}b(u)p(u)du}+e^{-\int_{0}^{t}b(u)p(u)du}\int_{0}^{t}b(v)a( v)e^{\int_{0}^{u}b(s)p(s)ds}dv\]  
For \(m(0)=0\), \(C=0\)  
\[m(t)=e^{-\int_{0}^{t}b(u)p(u)du}\int_{0}^{t}b(v)a(v)e^{\int_{0}^{u}b(s)p(s)ds}dv \tag{3}\]  
Obviously, the multiple settings of \(b(t)\), \(p(t)\) and \(a(t)\) in Equation (3) obtain multiple \(m(t)\). Therefore, this paper presents a framework model with strong flexibility. Imperfect Debugging Type II: Imperfect Debugging Framework Model Considering Fault Detection, Repair, and Introduction under Fault Detection Rate  
Because of the complexity of the software structure, the programmer's repair is likely to damage the original structure of the program, especially in large software systems, which will introduce new faults. To this end, based on model (1) established above, from the perspective of fault detection, repair and introduction, a unified software test model considering imperfect debugging is proposed as follows:  
Based on the five assumptions mentioned in Section 3.1, the system of Equation (4) can be obtained:  
\[\left\{ \begin{array}{l}\frac{dm(t)}{dt}=b(t)\cdot\left[a(t)-p(t)\cdot m(t) \right]\\ \frac{du(t)}{dt}=r(t)\cdot\frac{d(p(t)\cdot m(t))}{dt}\end{array} \right. \tag{4}\]  
The second differential equation describes fault introduction, which is that the number of faults added at time \(t\) is proportional to the number of faults repaired at that time. Since the introduction of a new fault occurs during fault repair, rather than fault detection, faults added at time \(t\) are proportional to the faults repaired at time \(t\). Equation (4) is modeled to describe the relationship between fault detection, repair and introduction. \(m(t)\) and \(a(t)\) are functions to be solved, \(b(t)\), \(p(t)\) and the fault introduction rate \(R(t)\) is the description of the test level in the overall test environment. \(m(t)\) and \(a(t)\) are characterized and determined by three parametric function functions \(k(t)\), \(p(t)\) and \(R(t)\). Setting the three parameter functions reasonably, it is possible to obtain an accurate model of the actual test process. The above formula is beyond the solution of the conventional differential equations. In addition, the main focus here is on the impact of the FDR \(k(t)\) on the model, so let \(p(t)=p\). The functions to be solved are \(m(t)\) and \(a(t)\), and the solution of Equation (4) is performed under the initial conditions of \(m(0)=0\) and \(a(0)=a\). The above formula is complicated to solve. To reduce the complexity, considering the convenience of the solution and not affecting the overall efficiency of the model, let \(p(t)=p\). The boundary conditions of the above equation are \(m(t)=0\) and \(a(t)=a\).