Skip to content
TURNKEYGNU / LINUX
AppsDocumentationBlogScreenshotsGitHubTurnKey Hub
Home/Blog/Bug hunting with the scientific method

From the project

Bug hunting with the scientific method

By Liraz Siri4 October 20152 min read
developmentdebug

I've never come across a problem I couldn't solve using the following technique / problem solving methodology, and I've come across some tough ones.

http://en.wikipedia.org/wiki/Scientific_method

As much as I might like to, I can't take credit for developing this stuff myself, as it is basically the same pattern that drives all modern science and engineering. I figured if it works for finding out the mathematical laws of the universe, developing nuclear weaponry and space flight, I could probably put it to work to solve my rather humble set of problems as well. It hasn't failed me yet.

I use the scientific method to test my assumptions, when coming across unexpected behaviors, gotchas, bugs, or when I simply don't understand what is going on in a general sense.

In a nutshell, I try to figure out how to break down what is happening into smaller pieces, preferably reducing the complexity of the test case and isolating the behavior I do not understand to the simplest case possible in which it is still exhibited.

Then after I have reduced the monster into a more manageable-sized demon, I attack it with experimentation.

I ask myself: what are my best guesses for what is causing this undesirable behavior? I form reasonable hypotheses. Then I plan for doing a range of experiments that will either validate or invalidate my hypothesis.

The experiments are preferably as simple as possible while still shedding light on the problem, but no simpler.

Keep exploring

Find your next server

Browse ready-to-use appliances by the job you need to do.

Explore the app library
TURNKEYGNU / LINUX

Own your infrastructure without starting from scratch.

Explore TurnKey
AboutDocumentationFAQBlogGitHub
Free and open sourceSecure by defaultReady to deploy