An Introduction to Software Engineering and Fault Tolerance
Building systems that are trustful is one of the main challenges which soft-ware developers are facing. Dependability-related concerns have accompanied system developers since the first day these systems were built and deployed. Obviously various things have changed since then, including, the nature of faults and failures, the complexity of the systems, the services they deliver and the way how society uses these systems. But the need to deal with various threads (such as failed components, deteriorating environments, component mismatches, human mistakes, intrusions and software bugs) is still in the core of software and system research and development.