Wednesday, November 29, 2006

Heisenbug, Bohrbug, Mandelbug, Schroedinbug

You may have heard of the Heisenberg uncertainty principle, the Bohr model for an atom or even ways to catch Schrödinger's cat. However, its unlikely that you have heard of the Heisenbug, Bohrbug, Schroedinbugs or Mandelbugs. For the geek, these funny names are actually unusual software bugs!

The name may seem to rhyme well with Heisenberg, but the Heisenbug is actually "a bug that disappears or alters its behavior when one attempts to probe or isolate it." The Freenet Project describes a Heisenbug in certain Java virtual machines.

The Bohrbug is a sort of antonym of the Heisenbug, as this bug does not disappear or alter its characteristics when it is researched.

The Mandelbug, named after Benoit Mandelbrot (think Mandelbrot set), is a bug whose underlying causes are so complex and obscure as to make its behavior appear chaotic.

The Schroedinbug is a design or implementation bug in a program that doesn't manifest until someone reading source or using the program in an unusual way notices that it never should have worked, at which point the program promptly stops working for everybody until fixed. Here, an Office developer describes "stupid SQL tricks" to get rid of a "classic Schroedinbug."

No comments: