Debug with hypotheses

Turns a bug report into ranked hypotheses, the cheapest test for each, and the fix once confirmed.

Use it when
A bug you cannot reproduce or explain.
What you fill in
  • bug What happens, what should happen, when it started
  • evidence Logs, stack traces, recent changes, environment
Help me debug this.

Bug: bug
Evidence: evidence

1. Restate the bug precisely: expected versus actual, and the conditions.
2. List 5 hypotheses ranked by likelihood given the evidence. For each, the evidence for and against.
3. For each hypothesis, the cheapest test that would confirm or rule it out (a log line, a query, a one-line change), in the order to run them.
4. Once a hypothesis is confirmed, the fix and a regression test.

Do not propose a fix before a hypothesis is confirmed. Ask for the output of the first test.
Before you answer, check your draft against every instruction above and fix anything that misses.
Replace each highlighted input with your details before you send it.
Why it works
  • Scientific method: hypotheses, tests, then fix.
  • Orders tests by cost.
  • Refuses to fix before the cause is confirmed.