Un schroedinbug (également orthographié schrödinbug) est un bug logiciel inhabituel qui ne se manifeste que lorsqu’un programmeur ou un développeur le remarque. Il s’agit de l’un des bugs logiciels les plus difficiles à identifier, de par sa nature même : le « bug reste latent et n’endommage pas le logiciel (il est courant qu’un logiciel fonctionne sans problème pendant des années), mais une fois qu’une personne lit le code du logiciel, le programme ne fonctionne plus.
Il s’agit d’un problème délicat car, logiquement, le bug n’aurait pas dû entraîner l’exécution du programme en premier lieu. Pourtant, le problème ne se manifeste qu’une fois qu’un programmeur l’a découvert. Une fois qu’il a été détecté, le programme fonctionne mal jusqu’à ce que le bug soit corrigé.
💻 Sécurisez vos terminaux distants et hybrides grâce à la gestion efficace des correctifs multi-OS de NinjaOne.
Pourquoi l’appelle-t-on schroedinbug ?
Le nom a été inspiré par l’expérience par la pensée du chat de Schrödinger, une superposition quantique très répandue en mécanique quantique. Erwin Schrödinger, physicien autrichien, a proposé l’idée qu’un chat peut être à la fois mort et en vie dans une boîte.
Elle a remis en question l’école de Copenhague en ce qui concerne la mécanique quantique, qui reste l’un des cadres les plus influents pour la compréhension de cette théorie physique. Cette école repose essentiellement sur plusieurs principes fondamentaux, et en particulier sur la dualité onde-particule. Les physiciens ont estimé que les entités peuvent se comporter à la fois comme des particules et comme des ondes, en fonction de la configuration expérimentale. Elle part du principe que les particules quantiques n’ont des valeurs d’observables (ou des données mesurables telles que la position ou l’élan) qu’une fois observée. En tant que telles, les entités existent dans une gamme de potentialités, ou ce que l’on appelle une « superposition ».
Schrödinger a proposé une expérience par la pensée pour remettre en question cette interprétation. Nous n’entrerons pas dans les détails de cette expérience dans cet article, mais nous vous recommandons de lire l’expérience du chat de Schrödinger dans cet article de LeMagIT.
Ce qu’il faut retenir, c’est la manière dont cette expérience par la pensée a influencé la programmation informatique et l’existence de divers bugs de logiciels.
Qu’est-ce qu’un schroedinbug ?
Dans le domaine de la programmation informatique, le schroedinbug suit ce schéma :
- Le système ou l’application fonctionne parfaitement, souvent depuis des années.
- Ensuite, une erreur sans rapport et souvent mineure est signalée, ou le programmeur décide de vérifier le code source au hasard.
- Le développeur enquête sur l’erreur, lit le code source et découvre que le code est défectueux et qu’il n’aurait pas dû permettre au système ou à l’application de fonctionner en premier lieu.
Cela donne naturellement lieu à des discussions, car, un code qui ne pourrait jamais fonctionner, ne pourrait jamais fonctionner. S’il a fonctionné ou fonctionne encore, cela signifie que le code est correct. Et pourtant, des cas de schroedinbugs sont encore signalés et expérimentés, même aujourd’hui.
Alors, comment se fait-il qu’un schroedinbug existe ?
Il y a quelques théories à prendre en compte.
Le code d’erreur correspondait à un problème non majeur
Certains développeurs de logiciels pensent qu’un schroedinbug est parfois signalé parce qu’un programmeur ou un développeur ne comprend pas entièrement le code source. Dans ce cas, le code d’erreur se trouve dans une caractéristique ou une fonction non majeure qui n’est pas utilisée régulièrement. Une condition externe est modifiée (par exemple, une nouvelle mise à jour) et provoque par inadvertance une rupture du code.
Le développeur examine alors le code source et, ayant besoin de plus de temps pour retracer chaque cas de figure ou dépendance, déclare que le logiciel n’a jamais pu fonctionner et le réécrit simplement.
Le logiciel n’a jamais fonctionné et personne ne l’a remarqué
Ceci est lié au premier argument. Dans ce cas, une nouvelle personne examine un code source et remarque une erreur que personne n’a encore découverte. Les développeurs qui travaillent avec ce code depuis longtemps disent alors que c’est « impossible » puisqu’ils l’utilisent depuis des années. Mais la vérité est qu’ils ne l’ont jamais remarqué parce que ce n’était pas pertinent, ou s’ils l’ont remarqué, ils n’ont pas ressenti le besoin d’y remédier immédiatement jusqu’à ce que quelqu’un d’autre le découvre.
Les développeurs ont donc raison de dire que le code source n’a jamais pu fonctionner parce qu’il n’a jamais fonctionné.
Quoi qu’il en soit, les schroedinbugs sont controversés car ils supposent qu’un code source pourrait être un chat de Schrödinger, ce qui, selon les ingénieurs, ne pourrait jamais se produire. Si un code ne fonctionne pas, il ne fonctionne pas et ne fonctionnera jamais.
Réduisez les failles de sécurité jusqu’à 75 % avec l’outil de gestion des correctifs n°1 de NinjaOne, selon G2.
Empêcher l’apparition de schroedinbugs dans votre réseau informatique
Que les schroedinbugs existent ou non, il est important de protéger votre environnement informatique à l’aide d’un système de gestion des correctifs efficace et automatisé. La gestion des correctifs de NinjaOne vous aide à identifier, évaluer et déployer automatiquement les correctifs sur les systèmes d’exploitation Windows, Mac, Linux et sur les applications tierces.
Si vous êtes prêt, demandez un devis gratuit, inscrivez-vous pour un essai gratuit de 14 jours ou regardez une démo.