Hypothetical Debugging

Posted on Oct 20, 2020

A small practice which I have found useful when debugging problems is to form an explicit hypothesis at every stage. The process goes something like this:

  1. Form a hypothesis.
  2. Gather data to prove or disprove that hypothesis.
  3. Rinse and repeat.

The act of forming a specific hypothesis, and then challenging it has allowed me to catch assumptions that I may have about the underlying system more quickly. For me, it is often a misplaced assumption which causes me to go round in circles debugging an issue.