Ariane 5 : Flight 501 Failure Report By The Inquiry Board

✒ Enzo SandrĂ© · 📆 12/02/2024 · đŸ’© Cas d'Ă©checs

đŸ’„ Le 4 juin 1996, le premier vol d’Ariane 5 se termine par une autodestruction. La mĂ©moire collective retient un dĂ©sastre logiciel, mais est-ce bien honnĂȘte ? Pour qui se plonge dans le rapport d’enquĂȘte, rien n’est moins sĂ»r.

📰 La couverture mĂ©diatique de l’évĂšnement se rĂ©sume Ă  cela : 40 secondes aprĂšs le dĂ©but du compte Ă  rebours, les deux centrales inertielles de la fusĂ©e s’éteignent successivement aprĂšs un mĂȘme plantage. La fusĂ©e dĂ©sorientĂ©e prend une trajectoire dangereuse, nĂ©cessitant sa destruction. Avant mĂȘme d’étudier les causes du plantage, une aberration ressort : comment se fait-il que ces composants critiques soient matĂ©riellement et logiciellement identiques ? En de pareils cas, l’état de l’art recommande dĂ©jĂ  Ă  l’époque de confier le dĂ©veloppement Ă  deux Ă©quipes distinctes, ayant les mĂȘmes spĂ©cifications, afin de minimiser les chances de bug identique.

đŸ˜¶â€đŸŒ«ïž Le brouillard des responsabilitĂ©s s’épaissit lorsque l’on apprend que les centrales inertielles n’ont pas Ă©tĂ© testĂ©es avec les paramĂštres de vol d’Ariane 5. Les ingĂ©nieurs ont considĂ©rĂ© que les excellents Ă©tats de service de ce composant sur Ariane 4 valaient qualification. Or Ariane 5 est d’un ordre de grandeur plus puissante que Ariane 4, ce qui a provoquĂ© un dĂ©passement d’entier lors d’une conversion non-protĂ©gĂ©e. La faute est partagĂ©e entre les ingĂ©nieurs et les dĂ©veloppeurs : ces derniers auraient dĂ» documenter cette limitation, prĂ©sente en raison de problĂ©matiques de performance.

🐛 Chez Ariane, les exceptions ne sont pas utilisĂ©es, sauf pour rapporter une erreur matĂ©rielle par dĂ©finition alĂ©atoire. Elles ne sont donc pas gĂ©rĂ©es, sauf pour produire un rapport de plantage. Les dĂ©veloppeurs doivent Ă©crire un code qui n’en lance pas. Ceux-ci n’avaient pas anticipĂ© que le langage Ada en Ă©met en cas de dĂ©passement d’entier. C’est cette conjonction qui provoqua le plantage.

📍 Le clou du spectacle ? Le code fautif ne sert pas sur Ariane 5, il a Ă©tĂ© conservĂ© d’Ariane 4 afin de ne pas avoir Ă  retester les centrales inertielles. Les dĂ©veloppeurs sont-ils coupables ? MĂ©ritent-ils d’avoir le nez et les mains coupĂ©s ? Mon avis en commentaire.

SOURCE

Lyons, J. L. and Yvan Choquer. Ariane 5 : Flight 501 Failure Report By The Inquiry Board Paris, 19 July 1996.

—- Avis

Pour moi, l’erreur principale a Ă©tĂ© de ne pas tester les centrales inertielles sur Ariane 5 avant le vol inaugural. Cependant, je ne dĂ©douane pas totalement les dĂ©veloppeurs : Une limitation technique comme une conversion non-protĂ©gĂ©e aurait dĂ» ĂȘtre documentĂ©e. Si elle l’avait Ă©tĂ©, cela aurait mis la puce Ă  l’oreille des ingĂ©nieurs lors de la dĂ©cision de qualifier le composant pour Ariane 5 sans tests. A mon avis, les responsabilitĂ©s sont partagĂ©es Ă  75/25 entre ingĂ©nieurs et dĂ©veloppeurs.

Enzo Sandré


📄 Lien public