Way of the computer scientist, 473–507
analysis comparison, 503–5
defined, 4
dynamic-analysis tools, 488–503
linguistic formalism, 474–78
review, 505–7
static-analysis tools, 478–88
Way of the detective, 15–32
defined, 3
Lord Peter Wimsey, 33–47
Professor Solomon, 49–61
Sherlock Holmes, 17–31
Way of the engineer, 433–71
coding convention, 451–66
debugging infrastructure, 466–69
defined, 3–4
development stage, 437–50
error avoidance, 442–66
error classification, 437–42
review, 469–71
Way of the mathematician, 175–88
defined, 3
Polya, 176–79
Schoenfeld, 182–87
Way of the psychologist, 387–431
defined, 3
error causes explanation, 394–413
human cognition models, 388–89
human error definition/classification, 389–94
research, 414–27
review, 427–31
Way of the safety expert, 361–85
cause-event charting, 381–82
defined, 3
fault-tree analysis, 382–84
root-cause analysis, 362–63
software-defect root causes, 363–80
Web site, this book, 513–14
While loop, 327
Wimsey, Lord Peter, 33–47
alibis as clues, 36–38
applying, to debugging, 36
author behind, 35
character of, 33–35
curiosity, 39
facts organization, 42–43
gestalt understanding, 45–46
impossible cause elimination, 38
life of, 33–34
literature about, 34–35
logic, 40–41
methods of, 35–47
occurrence, 46
possibilities, enumerating, 41
reason based on facts, 40
search caution, 44
Write unit test, 224–25
defined, 224
potential problems, 225
purpose, 224
questions answered, 224
refined tactics, 225
related tactics, 225
See also Debugging tactics