đ„ 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