Software Bugs
Bohrbug was named after the Bohr atom. Just as the Bohr atom is solid, a Bohrbug is also solid and easily detectable by standard debug- ging techniques. The word Heisenbug comes from Heisenberg's Uncertainty Principle which states that it is fundamentally impossible to pre- dict the position and momentum of a particle at the same time. If we try to apply standard de-bugging techniques such as cyclic debugging [5] to catch the error, we may nd that the error has disappeared. Bohrbug is also called a permanent fault while Heisenbug is called as a transient or intermittent fault. Note that inspite of the name, in both cases the fault is very much there at all times.
Examples
1. Disk Drive Operation (seek time)
2. Network Characteristics (traffic & load)
3. Software Clock Drift (priority interrupts / ISR - masked)
4. Processor Clock Drift (Crystal)
5. Probe effects (debugging tools vs realtime environments)