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.12.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 considered ...

Get Code Quality now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.