• Un Heisenbug, dont le nom est tiré de Werner_Heisenberg, est un bug dont les caractéristiques sont altérées lorsqu'on l'observe. L'affichage d'un log, l'ajout d'une sonde, le fait de faire tourner un débuggeur ou une console jmx, peut modifier le comportement de l'application qui fait que le bug ne se produit plus. La physique quantique suit également cette règle comme la célèbre expérience des fentes doubles d'Young
  • Un bohr bug, tire son nom de Niels_Bohr, et n'a en rien ses caractéristiques modifiées lorsqu'on l'observe, à la différence d'un heisenbug. C'est un bug dit 'classique'.
  • Un Schrödinbug, lui tire son nom de Erwin Schrödinger .C'est un bug qui n'apparait qu'après une utilisation inhabituelle du logiciel et qui ne serait pas apparu dans une utilisation classique par les utilisateurs. Ce bug est souvent déstabilisant car il apparait sans qu'aucune modification de code ne soit faite. C'est le bug, bien connu, du "oui mais ça marchait avant" :). C'est le cas, par exemple, lorsqu'un test, ou l'utilisation d'un trick mode met le logiciel dans un état instable. A l'inverse après un test, il peut arriver qu'un bug disparaisse, et là c'est le bug, "si je te jure quand je l'ai fais, ça marchait pas". Les Schrödinbugs, vous poussent à croire un peu plus les gens, et à ne pas les considérer comme des mythomanes :)
  • Un Mandelbug, en hommage à Benoit Mandelbrot, est par nature, le bug le plus difficile à reproduire car les étapes pour le reproduire sont tellement complexes qu'il semble se reproduire de façon aléatoire et chaotiques. Souvent le bug est reproductible, mais les étapes imposent des conditions qui ne sont pas toujours identifiées ou sur lesquelles nous n'avons pas la main. Les bugs concernant les threads, ou les bugs apparaissant selon une certaine charge du système sont souvent des mandelbugs. Ce bug engendre souvent des "can not reproduce".

Un bug peut être de plusieurs types à la fois, et si vous tombez sur un mandelbug-heisenbug, je vous souhaite bon courage :)

Il est amusant de constater que tous ces types de bugs tirent leur nom de scientifiques. Comme quoi la correction de bugs est vraiment une science !