Introduction Software reliability engineering is focused on engineering techniques for developing and maintaining software systems whose reliability can be quantitatively evaluated. In order to estimate as well as to predict the reliability of software systems, failure data need to be properly measured by various means during software development and operational phases. What is Software Reliability According to ANSI / IEEE(1), “Software Reliability is defined as the probability of failure free software operation of a specified period of time in a specified environment.” Difference between Classical & Modern Approach of Software Development With Respect To Software Reliability In classic approach the software developers has given the more attention to quantifying the delivery time & cost of the software product. Thus modern approach of software development was developed to resolve this problem by quantifying the software reliability. Software Reliability Engineering Process Software Reliability Engineering integrates activities related to it with the conventional development processes · · · · · Defining the product Implementing Operational Profiles Preparing for Test Executing Test Guiding Test Software Reliability Models Software modeling techniques can be divided into two sub categories. · · Prediction Modeling Estimation Modeling Software Reliability Metrics The current practices of software reliability measurement can be divided into four categories: Product metrics Project management metrics Process metrics Fault and failure metrics Software failure mechanisms Software Reliability is defined as a probabilistic function of time as hardware reliability, but it is not directly related to time, depending upon the exclusive characteristic of software. Current trends and problems Software reliability and system reliability Issue in using old hardware driven model for reliability Metrics and measurements The achieved reliability measures may differ for different applications, yielding inconclusive results. Data collection and analysis The software engineering process is described sardonically as a garbage-in/garbage-out process. Possible future directions Reliability for software architectures and off-the-shelf components One central research issue for software architecture concerning reliability is the design of failureresilient architecture. Metrics for reliability prediction Today it is almost a mandate for companies to collect software metrics as an indication of a maturing software development process. Conclusion Software reliability is a key part in software quality.