Software Reliability is a measure of the extent to which the software meets it specified requirements. This book teaches the theory of software testability, software reliability, and software safety, and discusses the practical assessment of these important qualities. This book provides methods and techniques to guide the engineers who are responsible for creating computer programs that are integrated into engineering designs and are necessary for the designed device to function as intended in a reliable fashion. It shows the engineer how to write software that is reliable and safe especially in large complex systems.