Histoire de bugs
Laurent BOCQUET, CNAM 2007 Avant-propos Le type de bug (buffer overflow, division par zéro, etc.) et ses coûts (perte sèche, correction, perte commerciale, etc.) sont rarement dévoilés. Cest donc par ordre chronologique que je me propose de vous présenter cette « Histoire des bugs célèbres »…
Laurent BOCQUET, CNAM 2007 Sommaire Conclusion Laprès 2000 Les années Les années Introduction
Laurent BOCQUET, CNAM 2007 Introduction Un bug est une anomalie dans un programme informatique, qui lempêche de fonctionner correctement. Les conséquences peuvent être bénignes (comme un défaut daffichage) à gravissimes (mort dhomme).
Laurent BOCQUET, CNAM 2007
1945 : LHistoire commence Une panne sur le Mark II de lUS Navy en 1945 fut produite par une mite ayant empêché la fermeture dun relais. Linsecte (bug) a été scotché dans le journal de bord de lordinateur par Grace Hopper. Il est ainsi connu comme le premier bug… Thomas Edison…
Laurent BOCQUET, CNAM : La sonde Mariner I 22 juillet 1962 : La fusée qui portait la sonde Vénus Mariner I a dévié de sa trajectoire. Elle a du être détruite en vol. Cause : un trait dunion oublié dans un programme fortran. Coûts : Un programme de plus de 80 millions deuros. Aucune perte humaine Aurait pu être évité : relecture, test unitaire
Laurent BOCQUET, CNAM : Un grand pas… 20 juillet 1969 : Alors que Neil Armstrong sapprête à lalunissage, des alarmes retentissent dans le LEM. Cause : des aides au debugage oubliées. Coûts : Une grosse frayeur pour Armstrong Aurait pu mener au crash du Lem Aurait pu être évité : cest délicat…
Laurent BOCQUET, CNAM : Quand larrondi na pas la cote 1982 : le Vancouver stock exchange introduit un nouvel indice à la valeur nominale de Mille (1000,000). L'indice est tronqué après la 3ème décimale. Après 22 mois sa valeur atteint 524,811 alors que la valeur correcte est 1098,811 Cause : erreur darrondi Coût : inconnu Aurait pu être évité : tests aux limites
Laurent BOCQUET, CNAM : Y a-t-il un frigo dans lavion ? Août 1983 : un Boeing 767 de la compagnie United Airlines est congelé lors de son approche de Denver. Cause : lordinateur déconomie de combustible est trop performant, il sur- refroidit les moteurs ! Cause : non révélée Coût : aucune victime Aurait pu être évité : test dendurance
Laurent BOCQUET, CNAM : Bons baisers de Russie Décembre 1984 : Un missile de test russe doit atteindre lArctique. Le missile fait une erreur de 180° et frappe Hamburg (Allemagne). Cause : arithmétique Coûts : aucune victime Aurait pu être évité : tests aux limites
Laurent BOCQUET, CNAM : Le bug de la mort qui tue : la machine Therac 25 chargée de traiter des patients atteints du cancer leur a administré une dose mortelle de radiations. Lorsque le technicien tapait trop vite, le logiciel navait pas le temps de suivre et envoyait une très forte dose. Cause : hardware buffer overflow Coûts : 5 décès Aurait pu être évité : tests de robustesse
Laurent BOCQUET, CNAM : Bank of America, impair et passe Février 1988 : 28 milliards de dollars transférés sur de mauvais comptes (mauvaises banques). Seuls 24 milliards sont récupérés ! Cause : « problème hardware » Coûts : supérieur à 4 milliards de $ Aurait pu être évité : non, trop forts les Russes ;)
Laurent BOCQUET, CNAM : Le bug louche 25 avril 1990 : Le télescope spatial Hubble est affligé d'un méchant strabisme. Cause : un bug dans le programme pilotant la machine de polissage de son miroir (certains contrôles de qualité avaient été supprimés pour réduire les coûts...). Réparé en décembre 1993 avec le remplacement de la caméra par une caméra spécifique corrigeant laberration sphérique du miroir. Coûts : 500 millions de dollars, soit 1/3 du coût total de lengin ! Aurait pu être évité : test de Foucault ?
Laurent BOCQUET, CNAM : Fatal retard 25 février 1991 : une batterie de missiles Patriot à Dashran (Arabie Saoudite) échoue dans l'interception d'un Scud. Le scud (vitesse MACH 5) atteint un bâtiment de l'armée et tue 28 américains. Cause : un bug dans larrondi des temps (en 10èmes de seconde); cumulé sur 100 heures. Coûts : 28 morts Aurait pu être évité : test dendurance
Laurent BOCQUET, CNAM 2007 HeuresSecondesTemps calculé (sec)Erreur (sec)Décalage (m) ,99660, ,97250, ,93130, ,83520, ,75280, ,6670, Au delà de 20 heures la batterie est inopérationnelle. Elle a failli après 100 heures… 1991 : Fatal retard (suite)
Laurent BOCQUET, CNAM : Fatal retard (suite)
Laurent BOCQUET, CNAM : Fatal retard (fin)
Laurent BOCQUET, CNAM : Le bug du Pentium 1993 : le tout nouveau processeur dIntel livre des résultats erronés. Cause : oubli du transfert dune table de valeurs précalculées. Coût pour Intel : 475 millions de $ Aurait pu être évité : intégration ?
Laurent BOCQUET, CNAM : Un hélico capricieux 2 juin 1994 : un hélicoptère chinook de la Royal Air Force, qui transportait des experts irlandais, sécrase en écosse tuant ses 29 occupants (25 passagers, 4 membres déquipage). Cause : On parle dabord dune erreur humaine, mais une enquête soriente vers le logiciel FADEC.
Laurent BOCQUET, CNAM : Un hélico capricieux (suite) En 1993 un rapport note que « après avoir examiné seulement 18 pour cent du code 486 anomalies ont été trouvées et la revue arrêtée ». Le rapport avait également noté que « des défauts moteurs intermittents étaient régulièrement éprouvés par l'équipage du Chinook et il y avait des exemples de pointes non commandées des moteurs vers le haut et vers le bas, ainsi que des mouvements non demandés de commandes de vol ». Après laccident des tests montreront que le logiciel FADEC « est invérifiable et … donc incompatible avec son objectif. ».
Laurent BOCQUET, CNAM : Ariane 4 juin 1996 : le lanceur Ariane 5 explose à Kourou (Guyane) lors de son premier vol de qualification. Ironie du sort : le code qui a planté produisait de l'information utile seulement avant décollage ! Cause : numeric overflow Coût : > 1 milliard de $ Aurait pu être évité : tests dintégration
Laurent BOCQUET, CNAM : Mars Climate Orbiter 23 septembre 1999 : Mars Climate Orbiter « entre » dans l'atmosphère martienne à seulement 57 km de la surface. Elle est détruite par les turbulences et les frottements atmosphériques.
Laurent BOCQUET, CNAM : Mars Climate Orbiter (fin) Cause : données fournies en livre/seconde, attendues en newton/seconde. Coûts : la sonde seule coûtait 125 millions de $ Aurait pu être évité : spécs, intégration Heureusement : il reste Mars Polar Lander …
Laurent BOCQUET, CNAM : Mars Polar Lander 3 décembre 1999 : perte de Mars Polar Lander. Lors de lenquête, D. Goldin a démenti que la NASA ait pu cacher des informations sur les défaillances du réacteur de la sonde Mars Polar Lander. des essais avaient eu lieu en novembre qui avaient conduit à une reprogrammation sur la sonde Il a affirmé au contraire que des essais avaient eu lieu en novembre qui avaient conduit à une reprogrammation sur la sonde.
Laurent BOCQUET, CNAM : Mars Odyssey 7 avril 2001 : La sonde Mars Odyssey a été lancée avec succès. C'est en effectuant un test sur l'atterrisseur de Mars Surveyor 2001 que l'on a découvert le bug fatal qui aurait coûté la vie à Mars Polar Lander. Amputée de son atterrisseur, la mission Mars Surveyor 2001 ne comprend donc plus qu'un orbiteur, mais cette amputation lui fut salutaire !
Laurent BOCQUET, CNAM : Bug politique 21 septembre 2005 : Une trentaine d'habitants de Grenoble ont été réveillés en pleine nuit par un coup de fil d'Alain Carignon, ancien maire de Grenoble et alors président de l'UMP-Isère. Une opération de marketing téléphonique utilisant la voix d'Alain Carignon, a connu un bug : les personnes absentes en journée ont été rappelées en pleine nuit. Coût : au moins 37 voix Aurait pu être évité : appeler un numéro occupé, cétait simple, comme test, non ?
Laurent BOCQUET, CNAM 2007 Et pour la bonne bouche…
Laurent BOCQUET, CNAM 2007 Sécurité maximum
Laurent BOCQUET, CNAM 2007 Ouvert 24h/24, fermé 7j/7 Bug non corrigé à ce jour malgré publication dans SVM de mars !
Laurent BOCQUET, CNAM 2007 Lété sera chaud à Melun
Laurent BOCQUET, CNAM 2007 Euh… jhésite !
Laurent BOCQUET, CNAM 2007 Cliquer ou ne pas cliquer ?
Laurent BOCQUET, CNAM 2007 Quel avenir pour le bug ? Et demain ?
Laurent BOCQUET, CNAM 2007 Conclusion Les projets les plus sérieux laissent encore passer les bugs les plus stupides. La technologie ne cesse de se complexifier. On ne peut donc compter que sur un progrès des tests…
Laurent BOCQUET, CNAM 2007 Des questions ?
Laurent BOCQUET, CNAM 2007 Proposition de Questions pour lexamen Quest-ce quun bug ? Citer 2 types de bug fréquents