Software Reliability is defined as the probability of free-failure operation for a specified period of time in a specified environment. Software Reliability Growth models (SRGM) have been developed to estimate software reliability measures such as number of remaining faults, software failure rate and Software Reliability. Imperfect debugging models are considered in these models. However, most SRGM assume that faults will eventually be removed. Fault removal efficiency in the existing models is limited. This paper aims to incorporate the fault removal efficiency in software reliability growth modeling. In this paper imperfect debugging is considered in the sense that new faults can be introduced into the software during debugging and the detected faults may not be removed completely.