IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Chroniqueur Actualités

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2013
    Messages
    8 458
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mars 2013
    Messages : 8 458
    Points : 197 853
    Points
    197 853
    Par défaut Le code qui a conduit aux mesures de confinement en Angleterre s'apparente à de la programmation spaghetti
    Le code de l'Imperial College qui a conduit aux mesures de confinement en Angleterre s'apparente à de la programmation spaghetti,
    d'après des experts

    La modélisation de Covid-19 sur laquelle s’est appuyée la Grande-Bretagne pour sa mise en confinement a été critiquée par une série d'experts. Pour être plus précis, c’est le code informatique du professeur Neil Ferguson qui a été pointé du doigt et désigné comme étant « totalement non fiable » par des experts.

    C’est sur la base de ses modèles que le Premier ministre britannique, Boris Johnson, a fait volte-face, à la fin mars. Partisan jusqu’alors d’un certain « laisser-faire » face au nouveau virus, il avait finalement opté pour le confinement de la population, alignant sa politique sur celle de la plupart des autres pays européens. Les États-Unis ont également utilisé le modèle, qui prévoyait plus de 2,2 millions de décès aux États-Unis sans action appropriée. La projection a contribué à influencer la Maison-Blanche à adopter une approche plus sérieuse de la pandémie.

    Les critiques ont donc fait suite à cette série de revirements politiques.

    Ce modèle est un « méli-mélo qui ressemble plus à de la programmation spaghetti qu’à un programme finement ajusté », a regretté David Richards, co- fondateur de la société britannique de technologie de données WANdisco. « Dans notre réalité commerciale, nous licencierions n'importe qui pour avoir développé un code comme celui-ci et toute entreprise qui en dépendrait pour produire des logiciels à vendre ferait probablement faillite ».

    Ferguson, le modélisateur de virus de l'Imperial College de Londres et conseiller scientifique du gouvernement, a averti le 16 mars que 500 000 personnes pourraient mourir de la pandémie sans action significative. Le modèle de l’Imperial College fonctionne en utilisant du code pour simuler les liaisons de transport, la taille de la population, les réseaux sociaux et les services de santé pour prédire comment le coronavirus se propagerait. Les chercheurs ont publié le code derrière celui-ci, que les développeurs ont critiqué comme étant illisible.

    D’ailleurs, sur Github, un collectif d’ingénieur a fait passer une pétition pour demander à tous les articles qui s’appuyaient sur ce code d’être supprimés :

    « Des milliards de vies ont été perturbées dans le monde entier sur la base du fait que l'étude produite par la logique contenue dans cette codebase est exacte, et puisqu'il n'y a pas de tests pour le prouver, les résultats de cette étude (et de toute autre qui s’appuie sur cette codebase) ne sont pas une base solide pour la politique publique en ce moment.

    « Je veux être clair que ce problème n'est pas destiné à dénigrer les auteurs de ce code - nous avons tous écrit du code qui n'est pas notre meilleur travail et du code qui n'a pas été testé. Mais lorsqu'une codebase est utilisée pour élaborer des publications dans le monde scientifique qui sont à leur tour utilisées pour influencer les politiques publiques, les auteurs de ces publications (et, en fin de compte, les politiques) doivent s'assurer que la science est vérifiable dans un sens public ».

    Nom : neil.png
Affichages : 14645
Taille : 253,3 Ko
    Neil Ferguson était l'un des architectes clés derrière le modèle de l'Impérial College

    Pour leur part, les scientifiques de l'Université d'Édimbourg ont affirmé qu'il était impossible de reproduire les mêmes résultats à partir des mêmes données en utilisant le modèle. L'équipe a obtenu des résultats différents en utilisant des machines différentes, et même des résultats différents pour les mêmes machines.

    « Il semble y avoir un bogue dans la création ou la réutilisation du fichier réseau. Si nous tentons deux exécutions complètement identiques, ne variant que dans la mesure où la seconde doit utiliser le fichier réseau produit par la première, les résultats sont assez différents », ont écrit les chercheurs d'Édimbourg sur Github.

    Un correctif a été fourni, mais c'était le premier de nombreux bogues trouvés dans le programme.

    « Les modèles doivent être capables de passer le test scientifique de base de 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 », a déclaré Michael Bonsall, professeur de biologie mathématique à l’université d’Oxford.

    Un porte-parole de l'équipe de réponse COVID19 de l'Imperial College a déclaré :

    « Le gouvernement du Royaume-Uni ne s'est jamais appuyé sur un modèle de maladie unique pour éclairer la prise de décision. Comme cela a été répété à plusieurs reprises, la prise de décision concernant les mesures de confinement était basée sur une vision consensuelle des preuves scientifiques, y compris plusieurs études de modélisation par différents groupes universitaires.

    « L'épidémiologie n'est pas une branche de l'informatique et les conclusions concernant les mesures de confinement ne reposent pas sur un modèle mathématique, mais sur le consensus scientifique selon lequel COVID-19 est un virus hautement transmissible avec un taux de mortalité par infection supérieur à 0,5 pc au Royaume-Uni ».

    Neil Ferguson, l’épidémiologiste vedette de l’Imperial College, éminent membre du SAGE, le comité scientifique du gouvernement Johnson, a dû démissionner en début de mois à la suite de révélations du Telegraph. Le journal assure qu’il n’a pas respecté les règles de confinement à la mise en place desquelles, par ses modélisations, il avait fortement contribué. À « au moins deux reprises », une femme mariée de 38 ans a traversé Londres depuis son domicile conjugal, au sud de la capitale, pour « passer du temps » avec le scientifique de 51 ans. Or, depuis le 23 mars, le gouvernement recommande aux Britanniques d’éviter tous les déplacements « non essentiels » hors de leur domicile.

    Sources : Telegraph, GitHub, Curry

    Et vous ?

    Que pensez-vous de cette situation ?
    Pourrait-elle, selon vous, illustrer les délais souvent très serrés donnés aux développeurs ?
    Dans ce genre de condition est-il préférable de livrer une application sans tests ou retarder la livraison pour avoir le temps d'effectuer des tests ? Cela est-il tributaire de la finalité de l'application (plus elle est sensible - domaine, type de données collectées, etc. -, plus impérative est la nécessité de faire des tests, quitte à se faire taper sur les doigts par le client) ?
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

  2. #2
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    Il faut différencier deux choses :

    - La qualité du code produit : Ca n'a pas vraiment d'importance , surtout dans une situation d'urgence et encore plus quand son auteur semble plus être un scientifique qu'un "vrai" développeur.

    - La robustesse des algorithmes : C'est ici que c'est plus problématique. Si les algo sont robustes mais codés avec les pieds , encore une fois pas de problème. Mais si une fois sur deux les résultats ne sont pas les même ... là y'a un vrai soucis
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre émérite
    Profil pro
    retraité
    Inscrit en
    Décembre 2010
    Messages
    806
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Décembre 2010
    Messages : 806
    Points : 2 310
    Points
    2 310
    Par défaut Je ne suis pas d'accord complètement
    A « au moins deux reprises », une femme mariée de 38 ans a traversé Londres depuis son domicile conjugal, au sud de la capitale, pour « passer du temps » avec le scientifique de 51 ans. Or, depuis le 23 mars, le gouvernement recommande aux Britanniques d’éviter tous les déplacements « non essentiels » hors de leur domicile.
    Une étude a prouvé qu'on travaille mieux les b..... vides que pleines, c'était donc des déplacements indispensables

  4. #4
    Invité
    Invité(e)
    Par défaut
    J'ai regardé le code rapidement et ça a quand même l'air bien moche. Les fichiers portent l'extension .cpp (C++) mais en fait c'est du vieux C. Il y a même des goto... En soit, ça ne veut pas dire grand chose mais, quand même, ça n'inspire pas confiance. Quand on bosse sur un truc aussi important, le minimum c'est de coder propre et de blinder de tests...

  5. #5
    Membre éclairé

    Profil pro
    Inscrit en
    Mai 2003
    Messages
    311
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 311
    Points : 739
    Points
    739
    Billets dans le blog
    1
    Par défaut
    Début de l'article : du code dégueu a provoqué le confinement injustifié de milliards d'individus.
    Suite de l'article : en fait non, mais quelqu'un a écrit du code dégueu quand meme ! (Ha. Ok.)

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par JackIsJack Voir le message
    Début de l'article : du code dégueu a provoqué le confinement injustifié de milliards d'individus.
    Suite de l'article : en fait non, mais quelqu'un a écrit du code dégueu quand meme ! (Ha. Ok.)
    Tu devrais lire l'article jusqu'au bout :
    Pour leur part, les scientifiques de l'Université d'Édimbourg ont affirmé qu'il était impossible de reproduire les mêmes résultats à partir des mêmes données en utilisant le modèle. L'équipe a obtenu des résultats différents en utilisant des machines différentes, et même des résultats différents pour les mêmes machines.

  7. #7
    Expert éminent
    Avatar de Matthieu Vergne
    Homme Profil pro
    Consultant IT, chercheur IA indépendant
    Inscrit en
    Novembre 2011
    Messages
    2 264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant IT, chercheur IA indépendant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 2 264
    Points : 7 760
    Points
    7 760
    Billets dans le blog
    3
    Par défaut
    J'avoue, ce code est quand même un cas d'école de mauvaises pratiques :



    Et je ne cite que des conventions générales, rien de spécifique au C/C++. On pourrait certainement en rajouter avec une vrai analyse type Sonar ou autre. On peut qualifier ça de gros PoC : tout a été fait progressivement dans le main() sans jamais avoir une vrai réflexion sur l'organisation du code. Juste quelques extractions effectuées à la volée par-ci par-là. Autrement dit, aucune stratégie mise en place pour maintenir le code ni le partager. Donc le qualifier de travail scientifique est juste hors de question à ce stade, bien qu'il puisse le devenir. Je n'ai pas évalué les tests, mais si je m'en tiens aux avis que j'ai pu lire, le manque de test ne permet pas de valider le code, donc prendre des décisions sur la base de ses résultats est effectivement scandaleux.

    Petit bémol tout de même : c'est un algorithme stochastique, donc de toute façon il ne faut pas se contenter d'une seule exécution. Il faut une série d'exécutions pour en tirer des résultats statistiques. Pour autant, ne pas avoir le même résultat avec la même seed est effectivement un problème qui jette le discrédit sur le code : si une propriété aussi basique n'est pas validée, que dire de propriétés plus complexes ?
    Site perso
    Recommandations pour débattre sainement

    Références récurrentes :
    The Cambridge Handbook of Expertise and Expert Performance
    L’Art d’avoir toujours raison (ou ce qu'il faut éviter pour pas que je vous saute à la gorge {^_^})

Discussions similaires

  1. [html] code qui apparaît souvent
    Par francis m dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 02/06/2005, 00h16
  2. code qui s'execute plusieurs fois
    Par khelif dans le forum JBuilder
    Réponses: 1
    Dernier message: 10/03/2005, 21h56
  3. [C#]Comment executer du code qui se trouve dans une string ?
    Par freddyboy dans le forum Windows Forms
    Réponses: 4
    Dernier message: 28/02/2005, 16h31
  4. Code qui ne fonctionne pas sur Mac
    Par malbaladejo dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 14/01/2005, 11h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo