Jeder Programmierer hatte schon mal einen – einen Bug. Aber das die Bugs auch noch in Kategorien eingeteilt werden, machte mit auch erst heute ein Kollege klar. Bei den Bugs unterscheidet man folgende:
Heisenbug
Nach der Heisenbergschen Unschärferelation benannter Bug, der verschwindet oder sein Verhalten verändert, wenn er untersucht wird. Prominentestes Beispiel ist, wenn man ein Programm in der Release-Version erstellt hat und dann wieder eine Debug-Version erstellt und der Fehler dann verschwindet.
Bohr Bug
Der Bohr-Bug verhält sich gegensätzlich zum Heisenbug. Genau wie das Bohrsche Atommodell ist dieser Bug komplett nachvollziehbar und verändert sein Verhalten nicht. Also der klassische Computerbug.
Schrödingbug
Der Schrödingbug ist ein ganz witziger Bug – nachempfunden nach Schrödingers Gedankenexperiment mit der Katze, die gleichzeitig tot und lebendig ist, bis jemand nachgesehen hat und somit den Zustand festlegt. Übertragen auf den Bug ist der Fehler im Programm solange bis jemand sich den Quellcode ansieht und den Fehler feststellt. Ab diesem Moment bricht das Programm an dieser Stelle ab und hört erst damit auf, wenn der Bug entfernt wurde. Ziemlich unwahrscheinlich…
Mandelbug
Nach dem Amerikaner Mandelbrot benannter Bug, dessen Auftreten nicht bestimmt werden kann, weil die Komplexität des Systems sehr hoch ist, sodass sein Auftreten chaotisch ist. Der Mandelbug wird häufig dem Heisenbug gleichgesetzt, meiner Erfahrung nach verteilt sich ein Mandelbug auf mehrere Heisen-, Schröding- und Bohr-Bugs.
Quelle: Wikipedia (engl.)