Bogue informatique - Définition et Explications

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs est disponible ici.

Un bogue ou bug informatique est une anomalie dans un programme informatique l’empêchant de fonctionner correctement. Sa gravité peut aller de bénigne (défauts d’affichage mineurs) à majeure (explosion du vol 501 de la fusée Ariane 5).

Les bogues sont généralement dus à un problème de conception du logiciel ; l'erreur peut parfois être identifiée (et la correction effectuée simplement), mais elle peut aussi bien provenir de la conception même du programme, ce qui nécessite une refonte profonde. Plus rarement, les bogues dans les logiciels peuvent être dus à des erreurs dans les outils de développement utilisés par les programmeurs du logiciel (En informatique, un logiciel est un ensemble d'informations relatives à des traitements effectués automatiquement par un appareil informatique. Y sont inclus les...). Enfin, le matériel lui-même peut comporter des bogues, comme ce fut le cas du bogue de la division (La division est une loi de composition qui à deux nombres associe le produit du premier par l'inverse du second. Si un nombre est non nul, la fonction "division par ce nombre" est la réciproque de...) du Pentium qui a affecté les premières versions de ce processeur (Le processeur, ou CPU (de l'anglais Central Processing Unit, « Unité centrale de traitement »), est le composant de...).

Origine du mot

Photo du premier bogue informatique
Photo du premier bogue informatique

Le terme est dérivé du mot anglais bug (insecte), venant du jargon des ingénieurs de matériel et représentant les erreurs de matériel qui survenaient. Le terme est parfois faussement attribué à Grace Hopper : une anecdote raconte qu'elle aurait découvert qu'un insecte (Les insectes (Insecta) font partie du sous-embranchement des hexapodes, elle-même incluse dans l'embranchement des arthropodes mais dans un sous-groupe : les mandibulates. On connaît un insecte marin, la punaise...) (bug), coincé entre deux contacts du relais qui faisait fonctionner l’appareil, était la raison du mauvais fonctionnement d’un des premiers ordinateurs électromécaniques.

En 1946, Hopper a rejoint la faculté de Harvard au laboratoire où elle a continué son travail sur Harvard Mark II et Harvard Mark III. Elle a attribué une erreur dans Mark II à un papillon nocturne pris dans un relais, créant le terme bug. L’insecte fut enlevé avec soin et placé dans un journal de bord. Cette première anomalie a popularisé l’expression bug ou bogue pour représenter les erreurs dans un programme.[1]

Malgré l’intérêt de l’anecdote ci-dessus, il est reconnu que l’utilisation du mot bug pour décrire les défauts de systèmes mécaniques date d’au moins avant les années 1870. Thomas Edison, entre autres, utilisait le mot dans ses notes. Si l'origine précise du mot est donc incertaine, le rapprochement avec les dysfonctionnements dus à la présence d'un insecte dans le système semble évident.

Le terme anglais bug vient du français " parasite ". En France, c'était le terme utilisé par les électriciens pour les problèmes de lignes utilisé sous la forme " la ligne est parasitée ". Adapté en anglais il est devenu bug puis est revenu en France sous la forme de " bogue " (de châtaigne ?) sous l’égide de la DGLF.[réf. nécessaire] Bug reste très largement utilisé.

En France, le terme " bogue " est recommandé par la Délégation générale à la langue française et aux langues de France (DGLF) depuis un arrêté paru au Journal officiel du 30 décembre 1983. Ce mot, qui se veut plus français, n'exprime pas une étymologie. C'est pourquoi peu de gens utilisent la version francisée. À cette époque le genre féminin était préconisé.

Cependant à la fin de la décennie (Une décennie est égale à dix ans. Le terme dérive des mots latins de decem « dix » et annus « année.) 1990, les dictionnaires tels que le " Nouveau petit Robert " et " Le Petit Larousse illustré " rapportaient l’usage de ce terme au masculin, sans doute sous l’influence québécoise où l’Office québécois de la langue française (OQLF) prônait depuis longtemps l’emploi du genre masculin. Le terme français a été popularisé avec le fameux bogue de l'an 2000 qui, sans avoir entraîné de dysfonctionnement visible majeur, a néanmoins nécessité beaucoup de travaux de transformation des systèmes d'information dans la décennie 1990.

Désormais la DGLF recommande aussi le genre masculin pour ce mot.

Effets

Les pessimistes disent qu'il y a des bogues dans tous les programmes informatiques. En revanche, les programmes de qualité contiennent relativement peu d'erreurs et n'empêchent généralement pas le système de continuer ses tâches. Au contraire, les programmes moins bons, quelquefois dits bogués, contiennent beaucoup d’anomalies qui interfèrent souvent avec le fonctionnement du système.

Les bogues ont des effets qui varient grandement. Quelques-uns ont un effet subtil sur le fonctionnement du logiciel et peuvent demeurer inconnus pendant une longue période. D'autres sont plus sévères et peuvent arrêter le logiciel voire bloquer le système.

Dans certains cas, sur les systèmes d’exploitation, les bogues de logiciels peuvent rendre instable le système jusqu’à ce qu’il soit rechargé.

D'autres erreurs de programmation (La programmation dans le domaine informatique est l'ensemble des activités qui permettent l'écriture des programmes informatiques. C'est une étape importante de la conception de logiciel (voire de matériel,...) peuvent mener à des failles de sécurité ; le dépassement de tampon (En informatique, un dépassement ou débordement de tampon (en anglais, buffer overflow) est un bogue pouvant être exploité pour violer la politique de sécurité...) est un des bogues les plus communs permettant à un pirate informatique (L´informatique - contraction d´information et automatique - est le domaine d'activité scientifique, technique et industriel en rapport avec le traitement automatique de l'information par des machines telles que les ordinateurs,...) d'exécuter un nouveau programme sur la machine cible.

Les bogues peuvent avoir des répercussions économiques considérables. Steve McConnell a comptabilisé plusieurs bogues qui ont coûté plus de 100 millions de dollars US.

  • Un des cas les plus spectaculaires est celui de la fusée (Fusée peut faire référence à :) européenne Ariane 5 (Ariane 5 est un lanceur de l'Agence spatiale européenne (ESA), développé pour placer des satellites sur orbite géostationnaire et des charges...), qui a coûté plus d'un milliard (Un milliard (1 000 000 000) est l'entier naturel qui suit neuf cent quatre-vingt-dix-neuf millions neuf cent quatre-vingt-dix-neuf mille neuf cent quatre-vingt-dix-neuf (999 999 999) et précède un milliard...) de dollars. Quelques instants après le décollage (Le décollage est la phase transitoire pendant laquelle un aéronef passe de l'état statique - au sol - vers le vol.), elle fut détruite à cause d'une erreur de l'ordinateur (Un ordinateur est une machine dotée d'une unité de traitement lui permettant d'exécuter des programmes enregistrés. C'est un ensemble de circuits électroniques permettant de manipuler...) de guidage embarqué à bord de l'appareil. Toutefois, dans ce cas, le terme "bogue" est quelque peu impropre : en effet, "l'erreur" a consisté à reprendre à l'identique l'ordinateur et le logiciel utilisé sur Ariane 4 pour la gestion des centrales inertielles de guidage, ordinateur et logiciel qui fonctionnaient parfaitement sur cette fusée. Cependant le reste du système informatique d'Ariane 5 travaillait avec des nombres de 64 bits en virgule flottante alors que ces éléments travaillaient avec des nombres de 16 bits en entier signé. Lors du passage de valeurs d'un système à l'autre est apparu une exception matérielle (plus précisément, un dépassement (Un dépassement est le fait de rouler pendant un instant, en général relativement court, à côté d’un autre véhicule à une vitesse supérieure à la sienne dans le but final de le...) arithmétique (L'arithmétique est une branche des mathématiques qui comprend la partie de la théorie des nombres qui utilise des méthodes de la géométrie algébrique et de la théorie des groupes. On...), ou les nombres de 64 bits ont une trop grande valeur pour être représentés en 16 bits, ce qui a fait partir le comportement par défaut de gestion d'erreur : un autotest), ce qui a eu pour effet une déviation de la trajectoire (La trajectoire est la ligne décrite par n'importe quel point d'un objet en mouvement, et notamment par son centre de gravité.) impossible à rectifier depuis le sol.
  • La sonde (Une sonde spatiale est un vaisseau non habité envoyé par l'Homme pour explorer de plus près des objets du système solaire et, pour certaines, l'espace qui est au-delà. Cela...) de Vénus Mariner 1 (Mariner 1 était la première sonde spatiale du programme Mariner. Elle fut envoyée par la NASA le 27 juillet 1962 par un lanceur Atlas-Agena B. La sonde fut détruite peu de temps après son envol.) fut perdue d’une façon similaire en 1962. Un trait d’union oublié dans un programme Fortran a coûté plus de 80 millions de dollars. D’après Arthur C. Clarke, ce fut le " plus coûteux trait d’union de l’histoire ".
  • Le fameux bogue de l'an 2000, a enrichi les entreprises de conseil en informatique, mais a fait dépenser des fortunes aux entreprises qui ont bien été obligées de modifier la majorité de leurs logiciels, dans la crainte que ceux-ci ne traitent pas correctement les quatre chiffres des années et se retrouvent en 1900 au 1er janvier 2000.

Approche formelle : les méthodes formelles

Un bogue est un non-respect de la spécification du système, c’est-à-dire de la définition (Une définition est un discours qui dit ce qu'est une chose ou ce que signifie un nom. D'où la division entre les définitions réelles et les définitions...) de ce que le système est censé faire. Une spécification peut être informelle et vague (Une vague est un mouvement oscillatoire de la surface d'un océan, d'une mer ou d'un lac. Les vagues sont générées par le vent et ont une amplitude crête-à-crête...) (comme : " le logiciel est un traitement de textes qui ne provoque pas d’erreur à l’exécution "), ou formelle et précise (" tri(t) est une permutation (En mathématiques, la notion de permutation exprime l'idée de réarrangement d'objets discernables. Une permutation de n objets distincts rangés dans un certain ordre, correspond à un changement de l'ordre de succession de ces n...) de t telle que tri(t) est ordonnée pour la relation < "), y compris au point d’obtenir des formules mathématiques. Un programme bogué est un programme dont la mise en œuvre ne vérifie pas la spécification.

On peut se demander s’il existe des méthodes universelles, sans faille et automatiques qu’il suffirait de suivre pour se rendre compte si un programme est bogué ou non. La réponse est non. En effet, si une telle méthode existait, il serait possible de l’automatiser par un ordinateur, c’est-à-dire par un logiciel d’analyse. Cet analyseur devrait opérer sur des programmes à analyser quelconques et devrait, par exemple, répondre à la question suivante : " l’état final du programme peut-il être un état d’erreur à l’exécution, ou est-il forcément un état correct (ou une non-terminaison) ". Or, le théorème de Rice (En théorie de la calculabilité, le théorème de Rice dit que toute propriété non triviale (c.-à-d. qui n'est pas toujours vraie ou toujours fausse) sur la sémantique dénotationnelle d'un langage de...) dit qu’on ne peut répondre à cette question sur un système à état infini (Le mot « infini » (-e, -s ; du latin finitus, « limité »), est un adjectif servant à qualifier quelque chose qui n'a pas de limite en nombre ou en taille.). Plus généralement, toute question de spécification portant sur l’état final du programme est indécidable, c’est-à-dire qu’un logiciel ou une méthode automatique (L'automatique fait partie des sciences de l'ingénieur. Cette discipline traite de la modélisation, de l'analyse, de la commande et, de la régulation des...) ne peut y répondre, sauf les questions dont la réponse est toujours vraie ou toujours fausse.

On pourrait objecter que les ordinateurs sont des systèmes à état fini : chaque ordinateur a une quantité (La quantité est un terme générique de la métrologie (compte, montant) ; un scalaire, vecteur, nombre d’objets ou d’une autre manière de dénommer la valeur d’une collection ou un...) finie de mémoire (D'une manière générale, la mémoire est le stockage de l'information. C'est aussi le souvenir d'une information.). Cependant, à l’exception de systèmes de très petite taille, il convient, à des fins d’analyse, de considérer les ordinateurs comme des systèmes à mémoire non bornée. En effet, les techniques d’analyse utilisant la finitude de l’état vont toutes, de façon plus ou moins détournée ou optimisée, chercher à énumérer les états du système. Un système à n bits de mémoire a 2n états ; dans un ordinateur personnel actuel, n est de l’ordre de 238. On voit donc que toute tentative d’énumération des états du système est vouée à l’échec.

L’impossibilité de la recherche (La recherche scientifique désigne en premier lieu l’ensemble des actions entreprises en vue de produire et de développer les connaissances scientifiques. Par extension...) automatique universelle des bogues est donc un problème d’ordre fondamental, et non une limitation de la technologie (Le mot technologie possède deux acceptions de fait :) actuelle.

Comment en faire ? Comment s’en défaire ?

Les bogues sont une conséquence de la nature de la tâche de programmation. Quelques-uns surviennent à cause de simples erreurs d’inattention d’un programmeur (En informatique, un développeur (ou programmeur) est un informaticien qui réalise du logiciel en créant des algorithmes et en les mettant en œuvre dans un langage de programmation.) écrivant du code source (Le code source (ou les sources voire le source) est un ensemble d'instructions écrites dans un langage de programmation informatique de haut niveau, compréhensible par un être humain...). D’autres bogues sont le résultat d’interférences inattendues entre différentes parties d’un logiciel, voire de comportements imprévus de systèmes extérieurs au logiciel (capteurs défaillants qui retournent des valeurs fantaisistes). Certains, enfin, relèvent de la non-prise en compte des termes exacts des normes définissant les langages et les bibliothèques employées par les programmeurs (cf. exemple). Ces situations arrivent parfois quand les logiciels deviennent trop complexes pour que les programmeurs puissent penser à toutes les possibilités d’interaction entre plusieurs parties d’un programme.

L’industrie du développement logiciel fait de gros efforts pour trouver des méthodes de prévention (La prévention est une attitude et/ou l'ensemble de mesures à prendre pour éviter qu'une situation (sociale, environnementale, économique..) ne se dégrade, ou qu'un accident, une épidémie ou une maladie...) des erreurs des programmeurs menant à des bogues. Cela inclut :

  • Les règles de programmation . On s'impose l’uniformité du style d’écriture (réduit la confusion possible pour les autres développeurs) et l’écriture de documentations détaillées. Typiquement, l’écriture de programmes devra suivre un processus formalisé en étapes successives et documentées.
  • Les techniques de programmation. Un bogue peut parfois créer des incohérences dans les données (Dans les technologies de l'information (TI), une donnée est une description élémentaire, souvent codée, d'une chose, d'une transaction d'affaire, d'un événement, etc.) internes d’un programme en fonctionnement. Les programmes peuvent être écrits pour vérifier la cohérence des données internes durant leur exécution. Si un problème est trouvé, le logiciel peut s’arrêter immédiatement pour que le bogue puisse être trouvé et réparé, ou simplement avertir l’utilisateur, essayer de corriger l’incohérence et continuer à fonctionner. De plus, on peut interdire ou du moins sévèrement réglementer l’usage de fonctionnalités de maniement délicat du langage de programmation (Un langage de programmation est un langage informatique, permettant à un être humain d'écrire un code source qui sera analysé par une machine,...) ou du système.
  • Les méthodologies de développement. Il y a plusieurs méthodes pour gérer l’activité des programmeurs afin de minimiser les risques de bogues. Plusieurs de ces techniques relèvent de la spécialité du génie logiciel (Si on se réfère à l'arrêté ministériel du 30 décembre 1983 relatif à l'enrichissement du vocabulaire de l'informatique [Journal officiel du 19 février...).
  • Le support des langages de programmation. Les langages incluent parfois des fonctionnalités qui aident les programmeurs à traiter les bogues, comme le traitement des exceptions. De plus, plusieurs langages récents ont délibérément exclu des fonctions avancées susceptibles de mener à des bogues. Par exemple, les langages Java et Perl n'offre pas d'accès de bas niveau aux pointeurs, évitant qu’un programme n’accède à une zone de la mémoire par inadvertance.
  • Le test. Le logiciel est essayé dans diverses configurations, notamment des configurations difficiles et " extrêmes ". On va aussi tenter de couvrir toutes les fonctionnalités, ou toutes les portions de code du logiciel, ou tous les chemins dans le code (ce dernier critère est en général impossible à atteindre). Cependant, le test ne donne pas d’assurance sur le bon fonctionnement du logiciel dans tous les cas, car il ne tient compte que d’un nombre (La notion de nombre en linguistique est traitée à l’article « Nombre grammatical ».) limité de configurations du système, d’entrées des utilisateurs ou du monde (Le mot monde peut désigner :) extérieur, etc.
  • Les méthodes formelles. Il s’agit ici de parvenir à une preuve, au sens (SENS (Strategies for Engineered Negligible Senescence) est un projet scientifique qui a pour but l'extension radicale de l'espérance de vie humaine. Par une...) mathématique, de bon fonctionnement du logiciel. La méthode peut fournir plus au moins d’automatisation : les assistants de preuve aident un utilisateur à formuler une preuve mathématique et la vérifient ; le model checking et l’analyse statique (Le mot statique peut désigner ou qualifier ce qui est relatif à l'absence de mouvement. Il peut être employé comme :) par interprétation abstraite sont automatiques ; il existe des gradations intermédiaires. Citons par exemple la Méthode B (La méthode B est une méthode formelle de développement logiciel qui permet de modéliser de façon abstraite dans le langage de B le comportement d'un...), utilisée pour la ligne 14 (Le terme ligne 14 est utilisé pour désigner un grand nombre de lignes de transports en commun :) (Meteor) du métro (Un métro, apocope du terme métropolitain lui-même abréviation de chemin de fer métropolitain, est un chemin de fer urbain souterrain le plus...) parisien.

Trouver et corriger les bogues, ou déboguer, est une partie majeure de la programmation de logiciels. Maurice Wilkes, pionnier de l’informatique, décrit ses réalisations des années 1940 en disant que l’essentiel du reste de sa vie (La vie est le nom donné :) serait occupé à réparer les erreurs dans ses propres programmes. Alors que les programmes informatiques deviennent de plus en plus complexes, les bogues deviennent plus fréquents et difficiles à corriger. Quelquefois, les programmeurs passent plus de temps (Le temps est un concept développé par l'être humain pour appréhender le changement dans le monde.) et d’efforts à trouver et à corriger les bogues qu’à écrire du nouveau code.

Habituellement, la partie la plus difficile du débogage est de trouver la partie du code responsable de l’erreur. Une fois localisée, la corriger est souvent facile. Des programmes appelés débogueurs existent afin d’aider les programmeurs à trouver les bogues. Toutefois, même avec l’aide d’un débogueur, dénicher un bogue est une tâche souvent très difficile.

Ordinairement, la première étape pour trouver un bogue est de trouver un moyen de le reproduire facilement. Une fois le bogue reproduit, le programmeur peut utiliser le débogueur ou un autre outil (Un outil est un objet finalisé utilisé par un être vivant dans le but d'augmenter son efficacité naturelle dans l'action. Cette augmentation se traduit par la...) pour observer l’exécution du programme dans son contexte (Le contexte d'un évènement inclut les circonstances et conditions qui l'entourent; le contexte d'un mot, d'une phrase ou d'un texte inclut les mots qui l'entourent. Le concept de contexte issu traditionnellement de...) habituel, et éventuellement trouver le problème. En revanche, il n’est pas toujours facile de reproduire un bogue. Certains sont causés par des entrées au logiciel qui peuvent être difficiles à reproduire pour le programmeur. D’autres peuvent disparaître quand le programme est lancé dans un débogueur; ceux-ci sont appelés heisenbugs (faisant, par plaisanterie, référence au principe d'incertitude de Heisenberg). Enfin, les bogues des programmes parallèles (composés de plusieurs modules s’exécutant de façon concurrente, par exemple sur plusieurs processeurs) sont souvent difficiles à reproduire s’ils dépendent de l’ordonnancement précis des calculs sur la machine.

Exemple

Exemple de code non bogué mais pouvant provoquer une erreur et correction du code pour un fonctionnement détectant les erreurs des autres programmes ou de la machine.

  • Le pseudo-code (En programmation, le pseudo-code est une façon de décrire un algorithme sans référence à un langage de programmation en particulier.) suivant représente une fonction prenant en entrée une adresse (Les adresses forment une notion importante en communication, elles permettent à une entité de s'adresser à une autre parmi un ensemble d'entités. Pour qu'il...) mémoire et incrémentant la valeur qui y est stockée.
 
 fonction IncPointeur( pointeur ) 
 *pointeur ++ 
 fin fonction 
 
  • Le problème est que dans les systèmes informatiques, il est fréquent que seule une portion de la mémoire soit accessible en écriture et qu’une tentative de le faire dans une zone mémoire protégée ou inexistante, provoque un bogue, une interruption du programme ou au pire, un arrêt du système.
  • Dans les systèmes complexes, il est souvent difficile et fastidieux de prévoir tout (Le tout compris comme ensemble de ce qui existe est souvent interprété comme le monde ou l'univers.) les cas possibles, c’est pourquoi la tolérance totale n’existe pas. Ceci n’empêche pas de prévoir un maximum de cas pour rendre le programme le plus robuste possible.
 
 fonction IncPointeur( pointeur ) 
 si EstValide( pointeur ) 
 *pointeur ++ 
 retour OK 
 sinon 
 retour ERREUR 
 fin si 
 fin fonction 
 
  • Dans le pseudo-code ci-dessus, le programme teste la validité de l’adresse avant d’y accéder, ce qui permet au programme de continuer même si une adresse erronée lui est transmise.

Humour et citations célèbres liées aux bogues

  • " Ce n’est pas un bogue, c’est une fonctionnalité !" (de l’anglais It’s not a bug, it’s a feature). - Réponse fréquente des développeurs de logiciels à leurs utilisateurs.
  • " Tout programme non trivial possède au moins un bogue " (de l’anglais Every non-trivial program has at least one bug) - Tiré de la loi de Murphy appliquée à l’informatique (Cf. : liens externes ci-dessous)
  • " L’erreur est humaine, mais un vrai désastre nécessite un ordinateur "
  • " Quand un logiciel n'a plus aucun bogue, il est habituellement désuet "

Jeux vidéo (La vidéo regroupe l'ensemble des techniques, technologie, permettant l'enregistrement ainsi que la restitution d'images animées, accompagnées ou non de son, sur un support adapté à l'électronique et non de type...)

Le terme de bogue dans les jeux vidéo a pour signification première une erreur dans le déroulement supposé d'une action. La résultante finale du bogue n'occasionnera pas la même gêne suivant son intensité. Une main (La main est l’organe préhensile effecteur situé à l’extrémité de l’avant-bras et relié à ce dernier par le poignet. C'est un organe destiné à saisir et manipuler des...) d'un joueur traversant un mur (Un mur est une structure solide qui sépare ou délimite deux espaces.) dans un jeu de tir subjectif n'aura pas la même nuisance qu'une impossibilité d'accomplir la quête principale d'un jeu de rôles.

L'existence des bogues n'apportent pas que des points négatifs :

  • La recherche et la correction de bogues démontrés permettent souvent une correction d'autres bogues inconnus à ce jour (Le jour ou la journée est l'intervalle qui sépare le lever du coucher du Soleil ; c'est la période entre deux nuits, pendant laquelle les rayons du Soleil éclairent le ciel. Son...) et/ou une optimisation du code source, ce qui est très profitable au joueur (jouabilité améliorée) comme au développeur (En informatique, un développeur (ou programmeur) est un informaticien qui réalise des logiciels en créant des algorithmes et en les mettant en...) (le support technique (En informatique, le support technique (ou "Hotline" qui pourrait se traduire par "appel urgent") est l'assistance donnée par un technicien hotline à un utilisateur pour l'aider à résoudre un...) régulier d'un jeu est un gage de renommée).
  • La popularité exceptionnelle d'un jeu qui connaît toutefois des bogues est souvent initiatrice d'une communauté très prolifique capable de corriger ces bogues à l'aide de différents outils. Le jeu le plus symbolique de ce phénomène est certainement Fallout (Fallout est un jeu de rôle sur PC publié en 1997, développé par Black Isle Studios (qui ne se formera sous ce nom qu'au développement de Fallout 2) et édité par Interplay...) 2.
  • Certains bogues peuvent être profitables à des joueurs plus ou moins mal intentionnés. Dans les parties jouables en réseau (Un réseau informatique est un ensemble d'équipements reliés entre eux pour échanger des informations. Par analogie avec un filet (un réseau est un « petit rets », c'est-à-dire un petit filet), on appelle nœud (node)...) (sur Internet (Internet est le réseau informatique mondial qui rend accessibles au public des services variés comme le courrier électronique, la messagerie instantanée et le World Wide Web, en...) ou en réseau local), les bogues exploitables sont duaux : soit ils sont source de destruction du fair play (notamment dans les jeux de tir subjectif), soit ils permettent une avancée spectaculaire et peuvent, par le fait, s'apparenter a du cheat (triche).
  • Dans les concours de Speedrun, certains bogues sont très profitables afin de finir un jeu ou une séquence le plus rapidement possible.

Le terme de bogue englobe d'autres notions moins usitées à cause de la popularité du nom de bogue. Il serait judicieux de nommer certaines erreurs par oubli plutôt que par bogue.

4 types de bogues particuliers

  • Mandelbug
  • Schrödinbug
  • Heisenbug (Bug informatique dont le nom est basé sur le principe d'incertitude d'Heisenberg défini en physique quantique : observer une structure modifie son état.)
  • Bohr bug
Cet article vous a plus ? Partagez-le sur les réseaux sociaux avec vos amis !
Page générée en 0.180 seconde(s) - site hébergé chez Amen
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
Ce site est édité par Techno-Science.net - A propos - Informations légales
Partenaire: HD-Numérique