r/iv2fi · u/iv2fi ·

Comment un simple bug de 8 bits a fait exploser la fusée Ariane 5 pour 500 millions de dollars

Comment un simple bug de 8 bits a fait exploser la fusée Ariane 5 pour 500 millions de dollars

Cette vidéo illustre comment une erreur de programmation mineure peut provoquer une catastrophe majeure, à travers le cas de la fusée Ariane 5. Le problème vient d'un overflow (débordement) : lors du développement, le code de guidage d'Ariane 4 a été réutilisé pour Ariane 5 sans adaptation. La variable stockant l'accélération horizontale était limitée à 8 bits, capable de contenir des valeurs jusqu'à 127 (ou 64 selon la base binaire utilisée dans l'exemple). Sur Ariane 4, la valeur restait sous ce seuil. Sur Ariane 5, plus puissante, la valeur dépassait cette limite. Le système n'ayant pas prévu de gestion d'erreur, il a interprété cette surcharge comme une donnée invalide, ce qui a déclenché une coupure d'alimentation et la destruction de la fusée, représentant une perte de 500 millions de dollars.

Exemple : Imagine une variable qui ne peut stocker que des nombres de 0 à 9. Si tu essaies d'y mettre 10, elle ne peut pas afficher "10". Si le programme ne gère pas cette erreur, il peut soit afficher 0 (le premier chiffre), soit planter complètement. C'est exactement ce qui s'est passé : la valeur d'accélération était trop grande pour le conteneur prévu, provoquant un effondrement en cascade du système de contrôle.