Confirmation bias while debugging

When debugging, I often form a hypothesis very early:

  • It has to be the cache.
  • It can’t be related to that change, because...
  • The new library must have changed something.

From that moment on, the way I search begins to shift. I notice log entries that fit my theory. Evidence against it gets explained away as a side effect or an edge case.

The problem is not that I form hypotheses. Without them, I could hardly investigate complex systems at all. The problem begins when a tentative idea quietly turns into a conviction. One simple countermeasure is not merely to ask:

What would confirm my assumption?

But explicitly:

What observation would show that my assumption is wrong?

Before a larger investigation, I sometimes write down several possible causes. That doesn’t stop me from falling in love with one of them. But at least it makes the alternatives visible.