Most of the software reliability models are based on reliability growth models which deal with only failure detection process. In these models it is assumed that software faults occur randomly at different time points and fault correction times are either ignored or considered insignificant. It is also assumed that only one fault is detected at any given time point. In this paper we propose a software reliability model in which a random number of faults are detected whenever a failure occurs. The model also takes into account the correction times for the faults detected.  The software failure times and the correction times are assumed to follow exponential distributions. The number of software faults detected at any time point is assumed to follow a geometric distribution. The distribution of the total correction time is derived and the model is formulated as an alternating renewal process. The properties of the reliability model are studied through the renewal process. We obtain the maximum likelihood estimators and also asymptotic interval estimators of the system parameters and their properties are discussed. We also propose some large sample tests for the system parameters. Some numerical studies have been made to evaluate the power of the tests.