Chapter 2. Reliability
Investment in reliability will increase until it exceeds the probable cost of errors, or until someone insists on getting some useful work done.
|--Gilb’s Fourth Law of Unreliability|
A system’s reliability has many facets: maturity (absence of software faults that lead to failures), fault tolerance (or robustness—performance to specification despite some faults), and recoverability (operation after a failure). In this chapter, we first examine the software’s maturity attributes, based on a standard classification of software errors. Thus, in Sections 2.1–2.7, we examine input, output, logic, computation, concurrency, interface, and data-handling problems. The quality of a system’s GUI and its usability are also sometimes ...