Bug (informatique)

Un bug logiciel est un problème de code dans un programme informatique qui fait qu'il ne fonctionne pas correctement. Il peut causer des désagréments à l'utilisateur et peut faire planter ou geler son ordinateur. La plupart des programmes informatiques présentent des bogues. Un programme qui comporte un grand nombre de bogues (ou éventuellement un seul ou quelques bogues graves) est dit bogué.

La plupart des bogues sont dus à une mauvaise programmation par le développeur, mais parfois ils peuvent être causés par des problèmes de compilation. Lorsque des bogues sont trouvés, les gens envoient des rapports de bogue au développeur pour lui en parler et le laisser les corriger.

Parfois, les gens disent que leur ordinateur a un bug quand quelque chose ne va pas. Le problème est généralement causé par un virus informatique qui a infecté leur ordinateur et le rend lent ou l'oblige à faire des choses différentes.

Certains bugs sont inoffensifs, par exemple, de nombreux jeux vidéo permettent à tort de faire passer des objets à travers les murs. D'autres sont plus graves, par exemple un bug dans un système de navigation qui fait exploser un avion.



Types de bogues

Débordement de la mémoire tampon

Un débordement de mémoire tampon se produit lorsqu'un programme écrit ou lit dans une zone de la mémoire à laquelle il n'est pas censé accéder.

Débordement arithmétique

Un débordement arithmétique se produit lorsqu'un nombre contenu dans une variable est augmenté au-delà du nombre le plus élevé que la variable permet. Cela entraîne généralement la remise à zéro du nombre.

Boucle infinie

Une boucle infinie se produit lorsqu'un programme entre dans une boucle (une série d'instructions qui sont répétées plusieurs fois) et qu'il n'y a aucun moyen de sortir de la boucle. Cela peut provoquer le gel du programme.

Erreurs d'arrondis

Si une variable à virgule flottante n'a pas une précision suffisante, le nombre qui y est stocké peut être inexact. Cela peut causer divers problèmes selon le type de programme, par exemple un programme de navigation pourrait se diriger vers un endroit non voulu, ou un son déformé dans un programme d'enregistrement audio.

Division par zéro

La division par zéro est une opération mathématique non valable. Si un programme divise un entier par zéro, il se bloque. Sous Linux, le message affiché lorsque ce bogue se produit est "floating point exception", même si les nombres à virgule flottante n'étaient pas concernés. Les mathématiques en virgule flottante permettent parfois la division par zéro. Cela se traduit généralement par une valeur spéciale "pas un nombre".

Les problèmes de découpage

Dans les jeux vidéo, les problèmes d'écrêtage, également appelés problèmes de détection de collision, surviennent lorsqu'un objet traverse une barrière (comme un mur, un plancher ou un plafond) qu'il n'était pas censé traverser. Il s'agit d'un problème très courant que l'on retrouve dans de nombreux jeux vidéo. Cela peut se produire, par exemple, dans Doom 2 lorsqu'un monstre écrasé est ressuscité par une voûte céleste. Les problèmes d'écrêtage peuvent souvent être utilisés comme une tactique permettant de gagner du temps dans les courses de vitesse. Par exemple, dans Super Mario 64, il est possible de sauter à travers le plafond pour monter l'escalier en colimaçon du château.

Bugs de sécurité

Les bogues de sécurité sont des bogues qui permettent à un intrus d'accéder à l'ordinateur, ou qui provoquent le blocage de l'ordinateur. Le fait de faire planter l'ordinateur est appelé une attaque par déni de service. Les bogues de sécurité sont considérés comme particulièrement importants à corriger car ils peuvent permettre à des intrus de voler des informations importantes telles que des numéros de carte de crédit ou des mots de passe. Parmi les exemples de bogues de sécurité, on peut citer Heartbleed et Shellshock.



Misbugs

Un misbug est un bogue qui a été utilisé comme fonctionnalité. Un exemple serait un bogue dans un téléphone Android qui permet aux utilisateurs d'obtenir un accès root.



Bugs matériels

Certains bogues affectent le matériel (les parties physiques d'un ordinateur) plutôt que les logiciels. Par exemple, l'exécution de l'instruction lock cmpxchg8b eax sur d'anciens processeurs Pentium provoquerait l'arrêt du processeur jusqu'à son redémarrage. Comme les bogues matériels sont des défauts de conception physique, ils ne peuvent pas être corrigés par une mise à jour logicielle, bien qu'il soit possible de contourner (cacher) le bogue par une mise à jour logicielle.



Questions et réponses

Q : Qu'est-ce qu'un bogue logiciel ?


R : Un bogue logiciel est un problème dans le code d'un programme informatique qui fait qu'il ne fonctionne pas correctement.

Q : Quelles sont les conséquences d'un bogue logiciel ?


R : Un bogue logiciel peut causer des désagréments à l'utilisateur et peut faire planter ou geler son ordinateur.

Q : Tous les programmes informatiques ont-ils des bogues ?


R : Oui, la plupart des programmes informatiques ont des bogues.

Q : Qu'est-ce qu'un programme bogué ?


R : Un programme bogué est un programme qui présente un grand nombre de bogues, ou éventuellement un seul ou quelques bogues graves.

Q : Qui est responsable de la plupart des bogues dans les programmes informatiques ?


R : La plupart des bogues sont dus à une mauvaise programmation de la part du développeur, mais ils peuvent parfois être causés par des problèmes de compilateur.

Q : Que fait-on lorsqu'on trouve un bogue dans un programme informatique ?


R : Lorsque des bogues sont découverts, les gens envoient des rapports de bogues au développeur pour lui signaler le bogue et lui permettre de le corriger.

Q : Que veut-on dire quand on dit que son ordinateur a un bug ?


R : Lorsque les gens disent que leur ordinateur a un bug, ils veulent généralement dire que quelque chose ne va pas, ce qui est généralement causé par un virus informatique qui a infecté leur ordinateur et qui le ralentit ou lui fait faire des choses différentes.

AlegsaOnline.com - 2020 / 2023 - License CC3