À retenir
- Désigne un système non-déterministe qui privilégie l'échec.
- Utilisé pour tester la robustesse maximale d'un logiciel.
- S'oppose au concept de non-déterminisme « angélique ».
En informatique théorique, ce terme qualifie un système qui, face à plusieurs possibilités, choisit systématiquement celle qui conduit à un échec ou à un bug, si une telle issue existe. C'est une sorte de « loi de Murphy » modélisée : si le programme peut planter, il le fera.
Étymologie
Dérivé du latin daemon, désignant un esprit ou une force surnaturelle. Dans le contexte du calcul et de la logique, il a été adopté pour décrire un comportement « malveillant » ou pessimiste d'un système, par opposition au choix « angélique » qui mènerait au succès.
Exemples d'usage
- Une condition de concurrence (race condition) qui ne se produit que dans la séquence d'événements la plus improbable pour faire planter le serveur.
- Un modèle mathématique de vérification de logiciel qui teste si un programme survit même face à un environnement qui cherche à le bloquer.
Cas d'usage
Ce concept intervient surtout dans les méthodes formelles (preuve de programme), la théorie de la concurrence et la cybersécurité pour modéliser le comportement d'un attaquant ou d'un environnement hostile.
Bonnes pratiques
Pour contrer un comportement démoniaque, il faut pratiquer la programmation défensive. On ne suppose jamais que tout ira bien, on vérifie chaque entrée et on prévoit systématiquement un plan de secours pour chaque étape critique.
Synonymes
Antonymes
Conseil
Ne voyez pas ce terme comme quelque chose de négatif, mais comme un outil de test : si votre algorithme peut vaincre un choix démoniaque, c'est qu'il est véritablement infaillible.
Questions fréquentes
Est-ce lié aux 'daemons' Linux ?
Non, les daemons (processus d'arrière-plan) et le comportement démoniaque sont deux concepts distincts, bien que partageant une racine étymologique commune.
Pourquoi modéliser un système qui veut échouer ?
Pour garantir qu'un logiciel critique (avionique, médical) fonctionnera quoi qu'il arrive, même dans les pires conditions possibles.