Ariane 5: The Integer Overflow That Destroyed a Rocket (Ep. 726)
Vidéo de la chaîne DatabaseHistory sur Ariane 5, référencée sur sa fiche Above Ten Thousand. Durée : 6:08. Langue : anglais. Type de vidéo : Documentaire.
De quoi il s'agit
Épisode de vulgarisation, avec reconstitutions et graphiques, sur l'échec du premier vol d'Ariane 5, le 4 juin 1996. La cause fut un débordement numérique dans le logiciel de guidage.
Contexte historique
Le programme du système de référence inertielle avait été repris directement de l'Ariane 4, selon la logique qu'un code ayant un historique de vol est plus fiable qu'un code neuf. Mais ses hypothèses ne valaient plus pour un lanceur plus puissant. Ariane 5 suivait une trajectoire de montée plus raide, et la vitesse horizontale mesurée dépassait largement les valeurs du modèle précédent.
Données marquantes
La défaillance s'est produite lors de la conversion d'un nombre à virgule flottante de 64 bits en un entier signé de 16 bits, qui n'accepte pas de valeurs supérieures à 32 767. La protection contre ce débordement avait été supprimée pour cette variable sur l'Ariane 4 afin d'économiser des cycles de calcul. Sans traitement de l'erreur, l'unité principale s'est arrêtée. L'unité de secours, avec le même logiciel, a échoué de la même façon quelques millisecondes plus tard. L'ordinateur de vol, privé de données valides, a commandé des déflexions maximales des tuyères pour corriger une rotation inexistante, et les charges aérodynamiques ont disloqué l'engin. L'épisode conclut que tout changement d'architecture dans un système temps réel impose de revalider les limites et les plages du logiciel.
