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¶
Does it exist? Not confirmed. The DOI recorded for this work did not resolve when it was last checked, so it is shown above but not linked. The citation may still be sound; the recorded identifier is not. Flagged for repair.
Does it back the claim? Not recorded. Neither this nor any other of the 4 citations of this work carries a recorded support check.
Support is checked per citation rather than per work — the same source can be cited soundly in one article and wrongly in another. Per-citation recording began recently, so a citation with no recorded check is a gap in the record rather than evidence it went unchecked.
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