Why Programs Fail¶
Zeller, A. (2009). Why Programs Fail: A Guide to Systematic Debugging. Morgan Kaufmann.
Cited by¶
4 citations across 4 artifacts.
Each citation links to the sentence it supports in the citing article.
Primes¶
- Contraposition
- a move heavy in differential diagnosis and clearance protocols. Software debugging. "If the bug were in module M, we would see symptom S" together with "we do not see S" yields "the bug is not in M," the core elimination behind bisection, log inspection, and assertion-driven debugging.
This sourceSystematic debugging by elimination — bisection, assertion checking — formalizing the contrapositive 'if the bug were here we'd see symptom S; we don't, so it isn't.'
- a move heavy in differential diagnosis and clearance protocols. Software debugging. "If the bug were in module M, we would see symptom S" together with "we do not see S" yields "the bug is not in M," the core elimination behind bisection, log inspection, and assertion-driven debugging.
- Discrepancy-Driven Correction
- In software debugging the expected program behaviour (from spec, test, or mental model) is compared to the observed behaviour, the gap is the bug symptom, the corrective action is a code change, and the loop is the edit–compile–test cycle.
This sourceDebugging as an expected-versus-observed correction loop (the edit–compile–test cycle).
- In software debugging the expected program behaviour (from spec, test, or mental model) is compared to the observed behaviour, the gap is the bug symptom, the corrective action is a code change, and the loop is the edit–compile–test cycle.
- Evidence
- In software debugging, a stack trace, log entry, or reproducer is evidence for a hypothesis about a defect, with bisection and instrumentation as evidence-production strategies and flaky reproducers as defeaters.
This sourceTreats debugging as scientific inference from observable traces (logs, stack traces, reproducers) to a hypothesis about a defect, with delta-debugging/bisection as evidence-production.
- In software debugging, a stack trace, log entry, or reproducer is evidence for a hypothesis about a defect, with bisection and instrumentation as evidence-production strategies and flaky reproducers as defeaters.
- Theoretical Sampling
- Qualitative research to software debugging: the deliberate search for deviant cases in grounded theory maps onto the search for minimum reproducible examples in software, both being attempts to find the case that most discriminates competing hypotheses.
This sourceTreats debugging as hypothesis-driven search for the minimal failure-inducing input that discriminates competing fault hypotheses (delta debugging).
- Qualitative research to software debugging: the deliberate search for deviant cases in grounded theory maps onto the search for minimum reproducible examples in software, both being attempts to find the case that most discriminates competing hypotheses.
Verification¶
This reference passed the adversarial substantiation pipeline: it was checked to exist and to support the claim it is attached to. See how references were verified.
Links previously used in the corpus¶
Before the registry existed this work was also linked 2 other ways.
- https://www.google.com/books/edition/Why_Programs_Fail/_pUA0V_8YgwC ×1
- https://www.oreilly.com/library/view/why-programs-fail/9780123745156/ ×1
Registry ID ref:ee5329f50e81 · see in the full table