International Journal of Engineering and Technical Research (IJETR) ISSN: 2321-0869, Volume-2, Issue-4, April 2014 332 www.erpublication.org Abstract A large number of software reliability growth models (SRGMs) have been proposed during the past thirty years to estimate software reliability measures such as the number of residual faults, software failure rate, and software reliability. Selection of optimal SRGM for use in a particular case has been an area of interest for researchers in the field of software reliability. Tools and techniques for software reliability model selection found in the literature cannot provide high level of confidence as they use a limited number of model selection criteria. There is therefore a need for evolving more efficient techniques. An effort has been made in this paper to review some of the well known techniques of this area and the possibility of developing a more efficient technique. A number of analytical models have been proposed during the past three decades for assessing the reliability of the software system. In this paper we will summarize some existing Software Reliability Growth Models (SRGMs), provide a critical analysis of the underlying assumptions, and assess the applicability of these models during the software development cycle . There is therefore a need for evolving more efficient techniques. An effort has been made in this paper to review some of the well known techniques of this area and the possibility of developing a more efficient technique. Keywords Software Reliability, Software Reliability Growth Models (SRGMs), Fault, Failure, Imperfect Debugging, S-Shaped Model. I. INTRODUCTION Towards moving 21’s century, software becomes a coercer for everything from elementary education to genetic engineering. Dependency and requirements on computer increases the difficulties and failures. Due to increase in addiction, the size & complexity of the system have grown. To avoid the failures & faults, reliability of software needs to be studied during the development of software so as to come up with reliable software [1]. Testing is the major quality control used during software development [2]. The quality of the software system has many attributes such as maintainability, portability, usability, security, reliability, availability, etc. Software reliability is the most dynamic attribute, which can measure and predict the operational quality of the product. Software Reliability is defined as the probability of failure-free software operation for a specified period of time in a specified environment. The aim of software reliability engineers is to increase the probability Manuscript received April 20, 2014. JAHIR PASHA, Research scholar, Dept. Of CS, Jain University, Bangalore, Karnataka, India. S.Ranjitha, BE(ECE), Bangalore Institute of Technology, vv puram ,Bangalore-04 Dr .H. N. Suresh, Professor & Research coordinator, Bangalore Institute of Technology, Dept. of IT, VV puram, Bangalore that a designed program will work as intended in the hands of the customers [2,8]. A commonly accepted metric for quantifying a product’s reliability is the number of faults one can expect to find within a certain time. Failures are the result of a fault in the software code, and several failures can be the result of one fault. The process of finding and removing faults to improve the software reliability can be described by a mathematical relationship called a Software Reliability Growth Model (SRGM) [3]. SRGM is a mathematical model of how the software reliability improves as faults are detected and repaired. SRGM can be used to predict when a particular level of reliability is likely to be attained. Thus, SRGM is used to determine when to stop testing to attain a given reliability level [4,9]. There are essentially two types of software reliability models - those that attempt to predict software reliability from design parameters and those that attempt to predict software reliability from test data [5]. Various SRGM have been developed during the last three decades and they can provide very useful information about how to improve the reliability. One can easily determine some important metrics like time period, number of remaining faults, Mean Time Between Failures (MTBF), and Mean Time To Failure (MTTF) through SRGM. For the past several decades, various statistical models have been proposed to access the software reliability. The most common approach for developing software reliability model is the probabilistic approach. The probabilistic model represents the failure occurrences and the fault removals as probabilistic events. They are classified into various groups, including error seeding models, failure rate models, curve fitting models, reliability growth models, Markov structure models, and Non Homogenous Poisson Process (NHPP) models [6,7]. A. Statement of Problem Software reliability represents the probability of failure-free software operation for a certain period of time in a particular environment. Over the past 30 years, lots of SRGMs have been developed and most SRGMs presuppose that detected faults are corrected at once. In literature, many software reliability growth models were utilized and the parameters related to software reliability were estimated. Besides the other, the most recently developed SRGM for distributed environment incorporating two types of imperfect debugging method estimates the software reliability in two types of software sub systems. The software sub-systems are reused system with simple faults, and newly developed system with hard faults and complex faults, respectively. The Mean Value Function (MVF) of all these systems were computed separately and summed to estimate the software reliability. However, this technique has drawbacks in fault consideration process. The software systems basically have independent and dependent faults in the debugging process. The existing SRGM has focused only on the fault severity. It will not find Certain Reliability Growth Models for Debugging in Software Systems JAHIR PASHA, S.Ranjitha, Dr. H. N. Suresh