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

Get Code Quality now with O’Reilly online learning.

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