Esiste qualche tipo di generalizzazione dell'effetto chiamato Heisenbug? Perché vorrei descrivere nella mia documentazione come strumentare un programma cambia l'esecuzione indipendentemente da cosa.
In Il dizionario del nuovo hacker è definito come segue:
heisenbug /hi:'zen-buhg/ /n./ [from Heisenberg's Uncertainty Principle in quantum physics]
A bug that disappears or alters its behavior when one attempts to probe or isolate it. (This usage is not even particularly fanciful; the use of a debugger sometimes alters a program's operating environment significantly enough that buggy code, such as that which relies on the values of uninitialized memory, behaves quite differently.) Antonym of Bohr bug; see also mandelbug, schroedinbug. In C, nine out of ten heisenbugs result from uninitialized auto variables, fandango on core phenomena (esp. lossage related to corruption of the malloc arena) or errors that smash the stack.
In realtà si tratta di un problema generale, quando si tenta di osservare lo stato dei programmi tramite strumentazione (tracciamento, debug, ecc.) l'esecuzione del programma viene modificata indipendentemente da cosa. Ma la definizione di Heisenbug dice chiaramente che si tratta di un bug mascherato a causa del debug e che scompare. Per quanto riguarda i bug, che appaiono a causa del debug - non c'è una parola per questo.
C'è qualche tipo di generalizzazione, come principio Heisenbug ?