Heisenbugs
A Heisenbug is a software defect whose manifestation depends on the act of measuring or observing the system. The term, inspired by the Heisenberg uncertainty principle, describes bugs that seem to vanish or change behavior when a debugger, logger, or breakpoint is used to study them.
These bugs are most commonly encountered in concurrent or parallel code where timing, scheduling, or memory
Symptoms of Heisenbugs include intermittent failures, non-deterministic results, or errors that appear on some runs but
Diagnosis and mitigation strategies focus on reducing perturbation and increasing determinism. Techniques include minimizing the influence
Terminology context places Heisenbugs among other bug types, such as Bohr bugs (deterministic, always reproducible) and