This book provides a general introduction to software reliability engineering. It presents detailed analytical models, state-of-the-art techniques, and methodologies and tools used to assess the reliability of software systems. The book also provides a new research direction in which the field of software reliability engineering is headed, by including a new software reliability model with environmental factors. Along with a software package, Software Reliability offers you the most comprehensive state-of-the-art techniques to quantify the software reliability and testing policies. This comprehensive book is designed as: An introduction to the field of software reliability engineering; A textbook for a one-semester advanced undergraduate course; A textbook for a one-semester graduate course; A supplement material for industrial workshops and seminars; A reference book for software and reliabilty engineers; A good source for university students, researchers, professors, teachers, software engineers, managers, as well as software and hardware users in general.