Bug, inévitable bug…

L’histoire du matin, c’est ce bug informatique qui a été à l’origine de la spectaculaire et inattendue baisse du chômage en août. Le ministère de l’Emploi a révélé hier que cette baisse était due au fait que SFR avait connu une « grave défaillance dans l’acheminement d’une partie des messages de relance (SMS et messages vocaux) aux demandeurs d’emploi ». Résultat, un nombre conséquent de demandeurs d’emploi n’ont pas pu actualiser leur situation et ont donc été rayés des listes. La cause exacte (une mise à jour non signifiée à Orange) et la question de savoir si SFR est seul fautif, ou si Pôle Emploi aurait pu réagir plus tôt, sont presque secondaires face à l’énormité du fait : un bug informatique peut changer la vie de dizaines de milliers de personnes et provoquer de fausses joies à un pays.

Eh bien, il va falloir s’y faire.

Car à mesure que nos sociétés s’informatisent, nous serons de plus en plus soumis à la possibilité du bug. Pour une raison simple : le bug est inévitable. Il est inévitable, car, jusqu’à maintenant, il est consubstantiel à l’informatique.

D’ailleurs, l’origine même du mot plonge dans la préhistoire de l’informatique. La légende veut que le terme de « bug » (insecte en anglais) remonte à 1947. La grande informaticienne Grace Hoper découvre dans l’un des premiers ordinateurs électromécaniques qui ne fonctionnait plus très bien, une mite qui a fait griller le système. C’est cette histoire qui popularise l’usage du terme en informatique. En fait, il semblerait que le mot bug pour désigner le défaut de fonctionnement d’une machine date de plus loin encore, Edison l’aurait employé.


Image : Photo d’un autre premier cas de bug, dans le journal d’entretien du Harvard Mark II conservé à la Smithsonian Institution, via Wikipédia.

Aujourd’hui, le bug n’est plus un insecte, mais une erreur de programmation qui va entraîner le mauvais fonctionnement du programme ou de la machine. Comment est-ce possible ? Comment est-ce encore possible aujourd’hui alors que nos machines sont si puissantes ? Parce que les logiciels sont les constructions les plus complexes jamais réalisées par l’homme et qu’à mesure que cette puissance augmente, la complexité augmente (on dit souvent qu’il est mathématiquement plus simple de concevoir le Viaduc de Millau qu’un système d’exploitation). Parce que ces logiciels sont constitués de millions de lignes de code qui interagissent les unes avec les autres, et qu’il est impossible d’assurer que le logiciel fonctionnera dans toutes les conditions de ces interactions. Pourquoi est-ce impossible ? Parce qu’il n’existe pas de machine assez puissante, ni assez de temps, pour tester un logiciel dans toutes les possibilités de son usage, et parce que pour l’instant, la « preuve formelle », c’est-à-dire la preuve mathématique qu’un logiciel va bien fonctionner, est un objet de recherche (alors que pour un pont, on connaît les lois physiques et mathématiques qui permettent d’assurer a priori qu’il va tenir).

Alors bien sûr, tous les logiciels ne sont pas égaux devant le bug. Si on le tolère aisément dans nos téléphones portables (et quand on y pense, c’est une expérience très courante que le bug dans nos téléphones ou nos ordinateurs), on le tolère beaucoup moins dans l’industrie aéronautique, où l’on investit des millions d’euros et de dollar pour en limiter au minimum la possibilité.

Mais comme le montrent des accidents tragiques (accidents d’avion, mais aussi accidents de voiture), il est toujours possible, et jusqu’à ce qu’on puisse établir des preuves formelles, il le sera. Du point de vue intellectuel on peut considérer que c’est assez beau. Ca rappelle que nos logiciels sont des constructions humaines, que ces lignes sont écrites par des hommes, et qu’en tant que tel le système demeure faillible par nature. Du point de vue pratique, ça n’est guère rassurant.

Xavier de la Porte

Retrouvez chaque jour de la semaine la chronique de Xavier de la Porte (@xporte) dans les Matins de France Culture dans la rubrique Ce qui nous arrive à 8h45 et sur son blog (RSS).

L’émission du 5 octobre de Place de la Toile était consacrée à « Proust et les technos » en compagnie de Nathalie Mauriac-Dyer, directrice de recherche à l’Institut des textes et manuscrits modernes où elle est responsable de l’équipe Proust et Pierre-Marc de Biasi, directeur de recherche à l’Item.

À lire aussi sur internetactu.net

0 commentaires

  1. Du point de vue pratique, les systèmes informatiques sont pourtant beaucoup plus stable qu’il y a 20 ans. Il me semble ? Je suis le seul à le ressentir ?

  2. Ouiai un bug qui arrange tellement bien et qui est repris par tant de média sans qu’ils se posent de questions… Quand on est dans la vraie vie on le sait si l’emploi repart ou pas, les journalistes, politiques à priori n’ont vraiment pas le même ressenti… Des boulettes ils y en aura de plus en plus surtout quand on se permet d’interpreter des variations 700000 par rapport à 5 millions enfin on ne sait même plus trop combien il y a de chomeurs car c’est selon les catégories, si on prend metropole uniquement ou tous les Français bref c’est vraiment triste.

  3. Merci pour cet article. Même si un bug est toujours à edouter, les avantages qu’offre la technologie n’est rien à côté. Mais comme on sait que toute chose évolue, on peut aussi espérer qu’un de ces quatre matins, on vivra dans un système infaillible qui ne bugera jamais, si je peux me permettre le terme.

  4. Le mot bug masque une grande variété de problèmes allant de dysfonctionnement bénins à des dysfonctionnements majeurs (crashs, pannes…) que l’on mesure aux conséquences qu’ils entraînent, tant et si bien qu’il nous faut nous demander si tous les problèmes informatiques peuvent se retrouver sous ce terme devenu trop générique. Certes, nous dépendons toujours plus de systèmes informatiques, mais y’a-t-il plus ou moins de bugs qu’avant, plus ou moins de bugs graves (majeurs) qu’avant ? Difficile à dire. Les règles de programmation ont progressé, les débugueurs (logiciels pour débuguer les programmes) également. L’informatique est-elle plus sûr aujourd’hui qu’hier ? La voiture autonome plus sûre que la voiture conduite par l’homme ? L’ordinateur de vol plus sûr que le pilote ? Le système est-il plus faillible avec la machine que sans ?

    J’ai l’impression (mais je n’ai pas trouvé d’études sur ce sujet dans ma veille) que l’informatique est chaque jour un peu plus sûr et que les erreurs qui conduisent aux catastrophes techniques reposent finalement bien plus sur l’humain que sur des défaillances techniques. Si l’avion est l’un des modes de transports les plus sûrs, c’est notamment grâce aux programmes.

    Cela ne veut pas dire que les bugs n’existent pas et qu’ils n’ont pas des conséquences importantes et directes sur la vie des gens (se faire rayer des listes de demandeurs d’emploi en est une)… Mais finalement cette erreur est peut-être plus repérable (et donc réparable) qu’une erreur humaine et isolée.

    Je ne cherche pas à célébrer la technique en disant cela : son incapacité à l’erreur, autre que massive, me semble tout aussi glaçante, car les erreurs qu’elle peut opérer semblent toujours incompréhensibles, impossibles à nos raisonnement humains. Mais j’ai tout de même l’impression que l’erreur de la machine n’est pas du même ordre que l’erreur humaine. Que les effets des bugs majeurs, parce qu’ils n’ont pas le même impact, ne sont pas de même nature… On voit bien d’ailleurs que cette nature de l’erreur médiée par la machine est d’un ordre différent… comme le montrent les discussions sans fin sur la responsabilité des programmes dans la voiture autonome par exemple. https://www.internetactu.net/2012/11/08/il-nous-faut-nous-preparer-a-la-route-sans-conducteur/ ou sur notre perte d’autonomie https://www.internetactu.net/2012/09/19/sommes-nous-encore-autonomes/