Many software reliability models have been proposed in the past few decades, however, most existing models have not incorporated software fault type and multi-phase debugging process. This paper presents a new software reliability model with a pioneering idea by considering two types of software faults and two phases of imperfect debugging processes. Two types of software faults are defined asType I fault and Type II fault, which represents independent and dependent software fault during debugging, respectively. Two phases debugging processes, Phase I and Phase II, are proposed in terms of the debugged software fault type. A small portion of software faults that software testers are not able to remove due to the limitation of resource and knowledge is also considered in the proposed model. The illustration of the model effectiveness is based on a real-time control system application. Some limitations of the proposed model are also discussed in the last section.