À retenir
- Il est déterministe : les mêmes causes produisent toujours les mêmes effets.
- Il reste présent même lorsqu'on utilise des outils d'analyse (débogueurs).
- Il s'oppose radicalement au Heisenbug (bug instable).
Un bohrbug est une erreur informatique classique, stable et facile à reproduire. Contrairement à certains bugs mystérieux qui disparaissent quand on essaie de les observer, le bohrbug se manifeste systématiquement de la même manière dès que les conditions sont réunies, peu importe les outils de diagnostic utilisés.
Étymologie
Le terme est un mot-valise composé du nom du physicien Niels Bohr et du mot bug (insecte/erreur). Il a été créé par opposition au « Heisenbug ». Alors que la physique de Heisenberg est liée à l'incertitude, le modèle atomique de Bohr est perçu comme plus solide et prévisible, à l'image de ce type de bug.
Exemples d'usage
- Une erreur de syntaxe dans un script qui empêche le lancement d'une application à chaque tentative.
- Une division par zéro dans un calcul financier qui fait planter le logiciel dès qu'un montant nul est saisi.
- L'oubli d'un point-virgule ou d'une parenthèse qui génère une erreur de compilation permanente.
Cas d'usage
On utilise ce terme principalement en développement logiciel et en phase de test (QA) pour désigner des erreurs déterministes. C'est le type de bug idéal pour un développeur car sa stabilité permet de l'isoler et de le corriger rapidement.
Bonnes pratiques
Face à un bohrbug, la meilleure pratique est d'isoler les données d'entrée (inputs) qui provoquent l'erreur. Une fois que vous avez identifié le scénario précis, utilisez un débogueur pour suivre l'exécution du code pas à pas : le bug ne « s'enfuira » pas.
Synonymes
Antonymes
Conseil
Si vous débutez, apprenez à aimer les bohrbugs. Ce sont vos meilleurs professeurs car ils vous permettent d'observer directement la faille dans votre raisonnement logique sans que le système ne vous joue des tours de magie.
Questions fréquentes
Pourquoi le nom de Niels Bohr ?
C'est une métaphore scientifique : le modèle atomique de Bohr est prévisible et ordonné, tout comme ce bug qui suit une logique constante.
Est-ce plus grave qu'un autre bug ?
Non, au contraire ! Un bug reproductible est beaucoup plus facile à corriger qu'un bug aléatoire qui ne survient qu'une fois de temps en temps.