En voici un exemple : Depuis que Neil Ferguson et les auteurs de l'Imperial College ont publié sa modélisation de l'intervention non pharmaceutique contre le COVID-19, un certain nombre de scientifiques ont examiné de près les données et ont trouvé des lacunes qui sapent sérieusement la crédibilité du modèle. Bien sûr, ce n'est pas la première fois que nous écrivons sur Ferguson et ses exploits.
Dans un article du Telegraph de ce week-end, deux de ces critiques, David Richards, le fondateur et PDG du leader mondial des grandes données WANdisco, dont les sièges sociaux sont situés dans la Silicon Valley et à Sheffield, et le Dr Konstantin Boudnik, un ingénieur pionnier des grandes données, vice-président de l'architecture de WANdisco et auteur de 17 brevets américains, ont publié un éditorial dans lequel ils examinent attentivement les lacunes du modèle. Gardez à l'esprit que le modèle de l'Imperial College est ce qui a finalement inspiré le Premier ministre Boris Johnson à faire volte-face et à adopter ce qui a été un confinement économiquement dévastateur - n'était rien de moins qu'une catastrophe. Des millions de personnes ont été plongées inutilement dans la misère et la pauvreté, ont-ils expliqué. Johnson lui-même a été infecté par le virus et le public est furieux contre le gouvernement pour son plan de réouverture.
Étant donné l'influence que le modèle a eue au cours des premiers jours de l'épidémie, les deux hommes ont fait valoir que les problèmes logiciels qui sous-tendent le modèle pourraient être « l'erreur logicielle la plus dévastatrice de tous les temps ».
Apparemment, les problèmes du modèle sont enracinés dans ses composantes les plus fondamentales. Le modèle a été écrit en utilisant un langage de codage appelé Fortran qui est utilisé depuis des décennies.
En raison de son âge et de son manque de souplesse, Fortran présente de nombreux problèmes inhérents. Mais en plus du langage lui-même, le code du modèle était tentaculaire, mal écrit et extrêmement inefficace, ont déclaré les deux hommes, affirmant qu'il ne serait jamais accepté dans le secteur privé.
En utilisant un langage simple et sans jargon, les deux auteurs expliquent comment le modèle s'est heurté à un problème appelé « CACE », ou, « changer quoi que ce soit change tout » - un problème que les ingénieurs en logiciel et les scientifiques essayant de modéliser, enfin, n'importe quoi, vraiment, rencontrent souvent.
Cette approche ignore les principes informatiques largement acceptés connus sous le nom de « séparation des préoccupations », qui remontent au début des années 70 et sont essentiels à la conception et à l'architecture de systèmes logiciels performants. Ces principes sont à l'opposé de ce que les développeurs appellent CACE : Changing Anything Changes Everything.Ce n'est que le dernier rappel que le conseil du président Barack Obama aux diplômés de cette année sonne vrai : vous ne pouvez pas accepter aveuglément ce que les experts et les responsables vous disent.
Sans cette séparation, il est impossible de procéder à des tests rigoureux des différentes parties pour garantir le bon fonctionnement de l'ensemble. Les tests permettent d'obtenir des garanties. C'est ce que vous faites sur un tapis roulant dans une usine automobile. Chaque composant est testé pour son intégrité afin de passer des contrôles de qualité stricts.
Lisez l'article éditorial complet ci-dessous :
* * *
Dans l'histoire des erreurs logicielles coûteuses, Mariner 1 a probablement été la plus connue. Ce vaisseau spatial sans pilote a été détruit quelques secondes après son lancement depuis le cap Canaveral en 1962, lorsqu'il a dangereusement dévié de sa trajectoire en raison d'une ligne de code douteuse.
Mais personne n'est mort et les seules victimes ont été le budget et la fierté de la Nasa. La modélisation par l'Imperial College des interventions non pharmaceutiques pour Covid-19, qui a contribué à persuader le Royaume-Uni et d'autres pays de mettre en place des verrouillages draconiens, remplacera la sonde spatiale Venus en panne et pourrait entrer dans l'histoire comme l'erreur logicielle la plus dévastatrice de tous les temps, en termes de coûts économiques et de vies perdues.
Depuis la publication du modèle de microsimulation de l'Imperial College, ceux d'entre nous qui s'intéressent, à titre professionnel et personnel, au développement de logiciels ont étudié le code sur lequel les décideurs politiques ont fondé leur décision fatidique de mettre en sommeil notre économie de plusieurs billions de livres sterling et de plonger des millions de personnes dans la pauvreté et les difficultés. Et nous avons été profondément troublés par ce que nous avons découvert. Le modèle semble être totalement peu fiable et vous ne mettriez pas votre vie en jeu.
Mais tout d'abord, quelques mots sur nos références. Je suis David Richards, fondateur et directeur général de WANdisco, un leader mondial dans le domaine des logiciels Big Data, dont les sièges sociaux sont situés dans la Silicon Valley et à Sheffield. Mon co-auteur est le Dr Konstantin 'Cos' Boudnik, vice-président de l'architecture de WANdisco, auteur de 17 brevets américains en informatique distribuée et développeur chevronné du framework Apache Hadoop qui permet aux ordinateurs de résoudre des problèmes en utilisant de vastes quantités de données.
Le modèle de l'Imperial College semble être basé sur un langage de programmation appelé Fortran, qui était d'actualité il y a 20 ans et, devinez quoi, était le code utilisé pour Mariner 1. Ce langage dépassé contient des problèmes inhérents à sa grammaire et à la façon dont il attribue des valeurs, ce qui peut donner lieu à de multiples défauts de conception et à des inexactitudes numériques. Un seul fichier dans le modèle impérial contenait 15 000 lignes de code.
Essayez de démêler ce fouillis de bugs, qui ressemble plus à un bol de pâtes aux cheveux d'ange qu'à un morceau de programmation bien réglé. La meilleure pratique de l'industrie consisterait à utiliser 500 fichiers séparés à la place. Dans notre réalité commerciale, nous virerions n'importe qui pour avoir développé un code de ce type et toute entreprise qui s'y fierait pour produire des logiciels destinés à la vente ferait probablement faillite.
Cette approche ignore les principes informatiques largement acceptés connus sous le nom de « séparation des préoccupations », qui remontent au début des années 70 et sont essentiels à la conception et à l'architecture de systèmes logiciels performants. Ces principes sont à l'opposé de ce que les développeurs appellent CACE : Changing Anything Changes Everything.
Sans cette séparation, il est impossible de procéder à des tests rigoureux des différentes parties pour garantir le bon fonctionnement de l'ensemble. Les tests permettent d'obtenir des garanties. C'est ce que vous faites sur un tapis roulant dans une usine automobile. Chaque composant est testé pour son intégrité afin de passer des contrôles de qualité stricts.Ce n'est qu'à ce moment-là que la voiture est jugée sûre pour la route. Par conséquent, le modèle de de l'Imperial College est susceptible de produire des résultats très différents et contradictoires sur la base du même ensemble initial de paramètres. Si vous l'exécutez sur des ordinateurs différents, vous obtiendrez probablement des résultats différents. En d'autres termes, il n'est pas déterministe.
En tant que tel, il est fondamentalement peu fiable. On peut se demander pourquoi notre gouvernement n'a pas obtenu un deuxième avis avant d'avaler la prescription de l'Imperial College.
En fin de compte, il s'agit d'un problème d'informatique et où sont les informaticiens dans la salle ? Nos dirigeants n'avaient pas les bases en informatique pour contester les idées et étaient donc sensibles aux universitaires. Je pense que le gouvernement a vu ce qui se passait en Italie avec ses hôpitaux débordés et a paniqué.
Il a choisi un instrument contondant plutôt qu'un scalpel et maintenant, la société va être mise à rude épreuve. Les défenseurs du modèle impérial affirment que parce que le problème - une pandémie mondiale - est dynamique, alors la solution devrait avoir la même qualité stochastique et non déterministe.
Nous ne sommes pas d'accord. Les modèles doivent être capables de passer le test scientifique de base consistant à produire les mêmes résultats avec le même ensemble initial de paramètres. Sinon, il n'y a tout simplement aucun moyen de savoir s'ils seront fiables.
En effet, de nombreuses industries mondiales utilisent avec succès des modèles déterministes qui tiennent compte du caractère aléatoire. Aucun chirurgien ne mettrait un stimulateur cardiaque à un patient cardiaque en sachant qu'il est basé sur une approche sans doute imprévisible, de peur de compromettre le serment d'Hippocrate. Pourquoi diable le gouvernement ferait-il confiance à un tel dispositif alors que le bien-être de notre nation tout entière est en jeu ?
Commentaires des Lecteurs
Lettre d'Information