<<< goodbye Beijing

Home

Sunday, August 24, 2008 11:11 PM >>>


deHeisenbugging

Sunday,  08/24/08  11:36 AM

Word of the day: Heisenbug.

A bug which is affected by the process of observing it, usually in an effort to get rid of it.  Examples include bugs which only show themselves in Release code, but not Debug, and timing bugs which go away when breakpoints are set or [more insidiously] when logging is activated.  In another variation they occur in the field at customer sites but not in a lab under controlled conditions.

Their possible presence leads to the Heisenbug uncertainty principle: it is never possible to be sure there are no more bugs :)

I am fighting a tenacious Heisenbug just now and wishing I could pause the universe temporarily to examine the server when an error occurs on the client.  I wonder if the developers of The Matrix began this way?

P.S. Yes of course there is a Wikipedia entry for Heisenbugs, as well as Bohrbugs, Mandelbugs, and Schroedinbugs.  And my favorite, the Stotle, “the incorrect output of a computer program that contains no bug”.