# Default Detection Rate-Dependent Software Reliability Model with Imperfect Debugging
## 1 Introduction  
Software testing is an important method to continuously improve software reliability. Currently, using the software reliability growth model SRGM to quantitatively study the improvement of software reliability during the test phase has been widely adopted [1]. To effectively measure and predict software reliability, the study is supposed to be based on accurate mathematical models. The software testing process is the unification of multiple complex stochastic processes, as shown in Figure 1. To assume this process, with several factors removed, the SRGM establishes a mathematical model from fault detection to repair and solves the cumulative number of faults \(m(t)\) detected at a certain time \(t\) with the model. Furthermore, using the correlation between \(m(t)\) and reliability \(R(t)\), the model obtains \(R(t)\) and further studies on the reliability \(R(t)\). It can be seen that in this essential period before software release, it is very important to establish a mathematical model that accurately describes the testing process to improve the reliability. Therefore, in SRGM research, obtaining \(m(t)\) and then obtaining \(R(t)\) by establishing an effective mathematical model is important. As the test progresses, it is foreseeable that the faults in the software are constantly eliminated and the software reliability has a continuous growth. In fact, in addition to improving reliability, the SRGM can also be used to test resource allocation and management, test cost estimation and management, determine software release time, calculate metrics directly related to reliability, etc. Hence, studying reliability with SRGM plays an important role in reliability research. The research on software reliability carried out through SRGM has gained the attention of many researchers. These researches on TE, fault reduction factor, release time and fault correlation [2; 3; 4; 5; 6; 7; 8] further deepen people's understanding of software reliability under the influence of various factors, and make positive contributions to the design and development of more reliable software. The common software testing process includes many periods, such as designing test cases and repairing faults. This will be affected by many random factors. Therefore, it is a complex random process with imperfect phenomena. Incorporating this imperfect phenomenon [9; 10; 11; 12] into reliability research results in the branch field of imperfect debugging. The current research on imperfect debugging mainly consists of two aspects: (i) the detected errors are not completely eliminated (which can be called incomplete debugging) [12; 13] and (ii) new faults are produced in debugging [9; 10; 11]. In terms of the accumulated number of faults \(a(t)\) in the software [14; 15; 16], imperfect debugging, such as introducing a new fault, will cause \(a(t)\) to increase. It is also a way to study the change of reliability from the perspective of \(a(t)\) change. For example, in reference [17], such research has been carried out and positive progress has been made. Different from reference [17], it is more pertinent to study reliability from the perspective of \(b(t)\). This is because \(b(t)\) is a description of the entire test environment, which can reflect the impact of different test strategies on reliability, so it is more valuable. Software reliability research considering imperfect debugging is an important branch of SRGM [17; 18; 19; 20], because imperfect debugging is more consistent with real software testing and debugging process. [PERSON] and [PERSON] et al. [21] described the error volatility by using the sine periodic function, and described the trend that the impact of the increasing new errors will gradually weaken with the increasing of test time, and proposed a model considering imperfect troubleshooting and change points. [PERSON] and [PERSON] et al. [22] proposed a software reliability growth model considering imperfect troubleshooting, troubleshooting probability, random test environment and test coverage.