CHAPTER 12 Causes and Effects

Deduction, observation, and induction are all good in finding potential defects. However, none of these techniques alone is sufficient to determine a failure cause. How does one identify a cause? How does one isolate not only a cause but the actual cause of a failure? This chapter lays the groundwork on how to find failure causes systematically—and automatically.

12.1 CAUSES AND ALTERNATE WORLDS

Anomalies and defects, as discussed in the previous chapters, are all good starting points in a debugging session. However, we do not know yet whether these actually cause the failure in question.

If we say” a defect causes a failure,” what does” cause” mean? Generally speaking, a cause is an event preceding another event ...

Get Why Programs Fail, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.