Safety-critical applications such as aviation, nuclear power generation, satellite communication, required to be highly reliable as failure of these systems may cause injury or death to human beings. Apart from the safety critical systems, software has become an integral part of most complex applications. Thus it is very important to ensure that the underlying software operates correctly, properly performs its intended functions and delivers its desirable output. However, in the early stages of development, it is difficult to quantitatively assess the reliability of a software product due to, unavailability of software failure information. Despite several research studies, not a single approach has proved to be effective in measuring the reliability of a software product. In this context, this book describes an improved bottom-up approach to predict the reliability for object-oriented systems. This approach uses product metrics gathered during the design stage of software development for reliability prediction. Moreover, through experimental application and evaluation, this book shows that, the proposed approach is both practical and useful for real world software projects.