In general, software reliability growth models (SRGMs) are often developed based on the assumptions of perfect debugging, single error type, and consistent testing environment. However, such the assumptions may be unrealistic for testing projects because new errors are always introduced during the debugging process, software errors are not alike, and the testing environment may change as the workforce escalates. Furthermore, the learning effect of the debugging process is taken under advisement, and assumes that it is unstable since the process of the error removal is also imperfect, which may cause a fluctuation of errors in the system. Therefore, the study is based on the Non-Homogeneous Poisson Process with considerations of the phenomenon of imperfect debugging, varieties of errors and change points during the testing period to extend the practicability of SRGMs. Furthermore, the error fluctuation rate is described by a sine cyclical function with a decreasing fluctuation breadth during the detection period, which indicates that the influence of increasing new errors during the testing period will be gradually unremarkable as the testing time elapses. Besides, the expected time of removing simple or complex errors is assumed to be different truncated exponential distributions. Finally, the optimal software release policies are proposed with considerations of the costs which occur in the testing and warranty period under an acceptable threshold of software reliability.
All Science Journal Classification (ASJC) codes