La vie est mal configurée

Aller au contenu | Aller au menu | Aller à la recherche

samedi, décembre 2 2017

Quelques remarques sur l'apocalypse logicielle à venir

J’ai eu l’agréable surprise de trouver dans The Atlantic, magazine grand public, un article sur des thèmes proches de ceux de certaines de mes recherches, qui plus est, ce qui est surprenant pour un magazine américain, avec des mentions de technologies informatiques françaises. J’ai plus de réserves, en revanche, sur le titre (The coming software apocalypse) et ce qui était visiblement un titre de travail (Saving the world from code).

Il me semble que la courte histoire de l’informatique est jalonnée d’articles (dans des revues plus spécialisées) expliquant que les façons de programmer les plus répandues ne pourraient plus durer et qu’il faudrait passer à d’autres approches, naturellement celles promues par la personne qui a rédigé l’article ou les personnes interrogées, suivis d’articles disant le contraire. Je ne retrouve hélas pas les références, mais je me souviens d’articles des années 1970 qui disaient le premier qu’il faut passer aux « méthodes formelles » pour raisonner sur les programmes et ainsi éviter les bugs, le second que ces méthodes formelles ne fonctionnent que sur de petits exemples jouets et ne sont pas adaptés à l’immense majorité des développements logiciels. Ceci devrait nous rassurer sur l’apocalypse à venir : d’autres apocalypses étaient déjà annoncées et ont été surmontées !

Passons maintenant au fond. On peut définir la programmation informatique comme l’activité de passer de la spécification de ce qu’un logiciel devrait faire à un programme effectivement exécutable par un ordinateur, comprenant une phase d’analyse (décomposition du problème en sous-problèmes jusqu’à ce que ceux-ci deviennent traitables par une machine) et une phase de programmation proprement dite, c’est-à-dire le passage d’idées abstraites (algorithmes, structures de données, interactions entre composants…) à un programme. (Ces deux phases ne se succèdent pas forcément dans le temps : on peut commencer de développer le logiciel, avoir un fonctionnement partiel, analyser ce qui manque, le programmer, etc.) La difficulté de la programmation, c’est l’éloignement entre la spécification et ce que la machine sait effectivement faire.

Dans sa forme la plus primitive, la programmation consiste à produire une suite d’instructions en langage machine, c’est-à-dire des codes numériques correspondant à des opérations à faire exécuter (par exemple, il existe un code pour demander une addition). C’est extrêmement fastidieux (il faut non seulement coder les instructions mais aussi se souvenir de numéros désignant les endroits où l’on a stocké les données) tout en nécessitant une grande minutie. Un premier progrès a été la possibilité de programmer en langage d’assemblage, c’est-à-dire en écrivant les noms des instructions (par exemple « add a,5 » pour demander d’ajouter 5 au registre a) et en laissant un logiciel, l’assembleur, calculer tout seul les numéros des stockages de données. Toutefois, cela revenait encore à descendre à un grand niveau de détail technique pour exprimer ce que l’on voulait faire.

On a donc proposé des langages de programmation de plus haut niveau que le langage d’assemblage, en premier lieu Fortran, dont le nom est juste la contraction de l’anglais pour « traducteur de formules ». On écrivait des programmes décrivant des procédures de calcul (pour la physique, l’artillerie, etc.) dans un format textuel assez lisible (par exemple, pour dire que a prend la valeur de trois fois b plus un, on écrivait a=3*b+1, il y avait des ordres pour dire de répéter une séquence d’instructions un certain nombre de fois) et un logiciel appelé compilateur traduisait en langage machine. La productivité des programmeurs était considérablement augmentée : on éliminait l’étape fastidieuse de codage vers le langage d’assemblage voire le langage machine, et les bugs que celle-ci pouvait introduire (bien entendu, à supposer que le compilateur lui-même ne contienne pas de bugs). Il me semble même avoir lu que certains disaient que cela éliminerait les bugs ! Hélas, il restait évidemment les bugs de plus haut niveau : ceux dans l’enchaînement des instructions à répéter, les formules etc. (et éventuellement des fautes d’inattention dans l’écriture du Fortran).

D’une façon générale, l’évolution des langages de programmation, depuis l’époque lointaine du premier Fortran, a tendu vers plus d’expressivité : permettre aux programmeurs d’exprimer ce qu’ils veulent voir exécuté sous une forme plus proche de ce qu’ils ont à l’esprit et avec moins de détails propres au fonctionnement de la machine. Cette évolution a porté tant sur la phase d’analyse que sur celle de programmation. Pour la programmation, il s’agit de pouvoir écrire d’une façon simple des directives qui seront transformées par le compilateur en des suites d’instructions complexes. Pour l’analyse, il s’agit de la fourniture de bibliothèques d’algorithmes et de structures de données déjà prêtes, souvent conçues par des programmeurs plus experts que le programmeur qui les utilisent, et qui lui évitent donc de « réinventer la roue ».

La proposition de l’article d’en venir à une programmation basée sur les modèles est donc une évolution naturelle. Les concepteurs de systèmes automatiques de contrôle (par exemple, de pilotage d’avion) raisonnent en termes de traitement du signal : prendre la mesure d’un capteur, éliminer les variations trop rapides (des parasites), détecter quand il dépasse un certain seuil…, opérations qu’ils représentent à l’aide de boîtes reliées par des fils, par analogie avec les vraies connexions électriques, lorsque chacune de ces boîtes était mise en œuvre par un composant électronique. C’est ce que proposent par exemple Scade, cité dans l’article, ou encore Simulink. Cette représentation est plus visuelle et intelligible pour les ingénieurs automaticiens que la mise en œuvre de ce traitement du signal dans un langage tel que C ou Fortran.

Une représentation de haut niveau, proche du concept que veulent mettre en œuvre les programmeurs, peut permettre par ailleurs la mise en œuvre d’aides au développement, — notamment, dans le cas de l’automatique, des simulations de la chaîne de traitement du signal sur des signaux représentatifs du système physique (par exemple, capteurs et actionneurs d’une aile d’avion), afin de se rendre compte si elle a les propriétés attendues (comme dans Simulink). L’exemple du début de l’article relève de la même idée : plutôt que de demander au programmeur de fixer des coefficients numériques par essai et erreur, on va lui fournir une visualisation instantanée qui lui permettra de les régler.

Toutefois, contrairement à ce que laisse supposer l’article, l’utilisation de tels langages graphiques ne supprime pas les bugs. Prenons le cas de la commande de vol électrique d’un avion de ligne. On va la concevoir graphiquement, à l’aide d’outils adaptés aux représentations des automaticiens spécialistes d’avionique et de contrôle aéronautique, puis (je simplifie) la transformer automatiquement en un logiciel que l’on peut effectivement embarquer dans l’avion. Cette transformation automatique sera à la fois plus fiable et moins coûteuse en personnel qu’une programmation manuelle. Rien ne nous dit toutefois que les lois d’automatique et les dispositifs de protection contre les erreurs et pannes décrits dans la représentation graphique suffisent à garantir la véritable spécification, à savoir « l’avion vole correctement » !

Par ailleurs, pour chaque représentation plus proche des préoccupations du développeur, il faut développer des outils ad hoc. On peut avoir un Scade, un Simulink, pour toutes les applications d’automatique, mais on peut difficilement, pour chaque problème spécialisé, développer un outil destiné à mieux attaquer ce problème.

On entend actuellement en France un discours bien rôdé selon lequel nous ne formerions pas assez de développeurs, les formations des universités et écoles publiques étant inadaptées. Le très médiatique docteur en médecine Laurent Alexandre répond, lui, que de toute façon ces tâches de développement seront bientôt assumées par des intelligences artificielles et qu’il conviendrait donc plutôt de mettre l’accent sur les humanités. Je suis sceptique quant à cette affirmation, qui me semble reposer sur l’anticipation de progrès considérables en intelligence artificielle, dont nous n’avons aucune raison de penser qu’ils se produiront à l’échelle de quelques décennies. Par ailleurs, ce n’est pas la première fois que l’on annonce la fin de la programmation au sens courant du terme. Il me semble bien que l’on avait déjà annoncé dans les années 1980 le remplacement de celle-ci par la programmation logique concurrente et des intelligences artificielles, comme dans le projet japonais d’ordinateur de cinquième génération ; mais ce n’est pas ce qui s’est passé…


samedi, novembre 11 2017

L'enseignement très spécialisé est-il un modèle ?

Mon billet sur la publicité dont jouit l’école 42 et les remarques méprisantes que certains commentateurs font à l’égard de l’enseignement universitaire a suscité des réactions. Une intéressante discussion a pris place dans ses commentaires, et j’aimerais rebondir sur certaines réactions, notamment celles de Laurent Bloch et de Loys Bonod.

Dominique Seux remarquait

« Alors, évidemment, si on était caustique, on s’étonnerait que les milliers d’enseignants-chercheurs de nos grandes universités scientifiques n’aient pas eu l’idée de lancer des formations en développement informatique. »

Cette remarque, nous l’avons vu, est absurde, vu que justement il existe de telles formations au sein des universités. Toutefois, il est possible de la modifier pour lui donner du sens :

« Alors, évidemment, si on était caustique, on s’étonnerait que les milliers d’enseignants-chercheurs de nos grandes universités scientifiques n’aient pas eu l’idée de lancer des formations en développement informatique, centrées uniquement sur la programmation, à l’exclusion de toutes les autres questions informatiques, des autres disciplines scientifiques et de toute formation générale. »

En effet, il ne me semble pas qu’il existe dans les universités de formation ne comprenant que de la programmation, ni même, au moins au niveau de la première ou deuxième année après le baccalauréat, que de l’informatique.

Relevons tout d’abord que pareille hyperspécialisation irait à l’encontre de la politique annoncée par l’actuelle ministre de l’enseignement supérieur, qui prône des licences pluridisciplinaires avec spécialisation progressive (ce qui est d’ailleurs déjà le cas en sciences à Grenoble, par exemple).

Par ailleurs, rappelons que l’État réglemente les diplômes à validité nationale (licence, master…), que pour les diplômes universitaires de technologie il y a un programme national, que les universités traversent une mauvaise période financière, avec de grandes difficultés à assurer leurs fonctions de base, et que donc la liberté que les « milliers d’enseignants-chercheurs de nos grandes universités scientifiques » auraient de lancer de nouvelles formations atypiques est très limitée ; ce n’est pas simplement une question d’en avoir l’idée.

Laurent Bloch relève, à juste titre, que les formations d’informatique, au moins au début, sont souvent couplées avec des enseignements de mathématique et/ou de physique, qui peuvent rebuter les étudiants. Il souligne notamment qu’une grande partie des élèves sortent de l’enseignement secondaire en difficulté en mathématiques.

L’enseignement secondaire français, même lorsqu’il y a des filières, comprend un très large enseignement « général », allant du sport à la philosophie. Cet enseignement est obligatoire, quels que soient les goûts et aspirations des élèves, et l’utilité, éventuellement nulle, des disciplines enseignées pour leurs choix de carrière et la vie qu’ils envisagent. Il est courant que certaines de ces disciplines rebutent les élèves, qui ensuite en conçoivent un dégoût marqué et ne veulent plus les retrouver dans l’enseignement supérieur. C’est donc une question qui dépasse largement les mathématiques et la formation des « développeurs ».

Voyons toutefois le cas particulier de l’enseignement de l’informatique. Il est possible de se focaliser sur la programmation (éventuellement en se spécialisant sur tel ou tel langage, telle ou telle technologie Web, etc.) et d’ignorer tout le reste. L’inconvénient d’une telle formation est qu’elle mentionnerait des outils sans pour autant expliquer comment ceux-ci fonctionnent, alors que souvent, en informatique, il faut avoir une certaine connaissance (non détaillée) du fonctionnement interne des outils pour les utiliser efficacement. Par exemple (je m’excuse d’avance pour mes lecteurs non informaticiens si je deviens technique), les bibliothèques standard des langages de programmation modernes proposent des implantations efficaces des notions d’ensemble et de fonction à support fini, par arbres binaires, par tables de hachage, voire par liste ou tableau d’association. Chacun de ces cas correspond à certains usages, mais il est impossible de le savoir si on les utilise comme des « boîtes noires » sans chercher à comprendre leur fonctionnement. La conséquence probable d’une utilisation aveugle et « bricolée » sera un logiciel qui fonctionnera bien sur de petits jeux de données mais dont les performances se dégraderont très vite lorsque les données seront plus grandes. Il en est de même de la conception d’une base de données sans comprendre un peu le fonctionnement interne d’un moteur de bases de données.

En raison de cela, les formations classiques en informatique comprennent non seulement de la programmation, mais aussi de l’algorithmique et d’autres matières. Traditionnellement, l’enseignement de l’algorithmique s’appuie sur des démonstrations mathématiques, notamment des preuves par récurrence. De telles démonstrations passent au-dessus de la tête de bon nombre d’étudiants actuellement en informatique à l’université, et on leur substitue donc souvent des explications « avec les mains » (par exemple, on peut montrer la complexité en n log n du tri fusion par un petit dessin). De même, on peut expliquer les bases de données relationnelles avec des raisonnements ensemblistes, mais il est sans doute possible de limiter l’usage du vocabulaire mathématique. Il y a toutefois des limites qu’on ne peut pas dépasser en matière d’incompréhension mathématique sans entraîner l’incompréhension informatique.

On le voit, la question posée par 42 n’est pas seulement celle de l’école sans enseignant (il existe depuis longtemps des méthodes de langues, de musique etc. destinées à l’apprentissage sans enseignant, et personne ne s’en émeut). Elle est plutôt celle d’un apprentissage très étroit, produisant en quelque sorte des ouvriers du tertiaire avec peu de recul sur leur activité. Or, tandis que certains la couvrent de lauriers dans les médias, d’autres (voire parfois les mêmes) déplorent le « cloisonnement » des disciplines universitaires et des formations ; clairement les universitaires subissent des injonctions contradictoires !

mercredi, novembre 8 2017

Au sujet de l'école 42 et de la publicité dont elle bénéficie

Dominique Seux, chroniqueur aux Échos, a le lundi 6 novembre choisi d’évoquer la fameuse école 42 de Xavier Niel sur l’antenne de France Inter. Il a notamment déclaré :

« Alors, évidemment, si on était caustique, on s’étonnerait que les milliers d’enseignants-chercheurs de nos grandes universités scientifiques n’aient pas eu l’idée de lancer des formations en développement informatique. »

Si on était caustique à l’égard M. Seux, on relèverait que, justement, les enseignants-chercheurs des universités scientifiques ont lancé de telles formations depuis des décennies. Pour prendre des exemples locaux, l’École nationale supérieure d’informatique et de mathématiques appliquées de Grenoble (ENSIMAG) fut fondée en… 1960, le département informatique de l’institut universitaire de technologie (IUT) de Grenoble en 1966 ; les MIAGE (formations aux Méthodes informatiques appliquées à la gestion des entreprises) existent depuis 1969. Bref, rien de nouveau sous le soleil.

Puisque M. Seux évoque les « milliers d’enseignants-chercheurs de nos grandes universités scientifiques », rappelons qu’il y a de l’ordre de 3400 enseignants-chercheurs de statut universitaire en informatique. Je ne sais pas ce que M. Seux s’imagine qu’ils enseignent, peut-être de la théorie de haute volée ou de l’histoire de l’informatique ? Ce n’est pas le cas ! (Ou du moins, c’est très rarement le cas, évidemment à Normale Sup on peut se permettre de faire de la théorie de haute volée…) La grande majorité des enseignements portent sur ce que les étudiants doivent savoir pour occuper, plus tard, des emplois de développeur, administrateur système, etc.

Revenons sur 42. M. Seux indique (j’ignore si ces chiffres sont exacts) que cette école reçoit 50000 candidatures par an et n’en accepte que 900. C’est donc une école extrêmement sélective à l’entrée. Ensuite, si l’on en croit les informations diffusées par les médias, il y a une très forte pression de sélection interne (les étudiants qui n’arrivent pas à se débrouiller sont exclus). En résumé, il s’agit d’un enseignement (ou d’une absence d’enseignement) qui s’adresse à une très petite minorité.

Les universités, quant à elles, ont une mission d’enseignement très générale — on a beaucoup rappelé récemment qu’elles sont censées accepter tout bachelier (il existe également des voies d’accès sans baccalauréat). Il n’est pas clair que les méthodes « sans enseignants » qui conviennent à une infime minorité conviendraient au public de l’enseignement de masse. J’en doute même fortement. Je sais bien qu’il est tentant (on sent bien ce sous-entendu derrière le discours sur les milliers de fonctionnaires dont on se demande bien ce qu’ils font) de penser que l’on pourrait largement se passer de la masse salariale d’enseignants, mais tout ce qui est tentant n’est pas forcément possible.

Prenons un parallèle. Personne ne suggère que l’on supprime l’enseignement des mathématiques et qu’on le remplace par la mise à disposition de manuels et dispositifs informatiques. Pourtant, le grand mathématicien Srinivasa Ramanujan, lorsqu’il était adolescent, a en grande partie appris les mathématiques seul en s’aidant d’un ouvrage de synthèse. Imaginez les économies que l’on pourrait faire en se défaisant des professeurs de mathématiques de lycée !

Si j’évoque cette chronique, c’est parce que celle-ci s’inscrit dans tout un discours médiatique à l’égard de l’enseignement de l’informatique en France, où l’on oppose la modernité de l’école 42 aux pratiques supposées archaïques des universités, et où l’on vante l’enseignement privé. Pour ma part, j’ai un raisonnement simple : enseigner à une infime minorité sélectionnée est facile — je le sais, j’ai enseigné 13 ans à l’École polytechnique (*). La question difficile est celle de l’enseignement de masse, surtout si celui-ci doit déboucher sur des emplois (il me semble d’ailleurs que les diplômés d’informatique des universités n’ont en général aucun problème pour trouver un emploi). Pourquoi faut-il encore et encore rappeler pareilles évidences ?

(*) Et même à l'École polytechnique la grande majorité des enseignements d'informatique, en masse d'étudiants, portent sur les bases du développement de logiciels et non sur des aspects de haute volée.

mercredi, novembre 1 2017

L'égalité, concept plus difficile qu'il n'y paraît

En mathématiques, on manipule souvent des égalités, mais il n’est pas habituel, si l’on n’est pas logicien, de s’interroger sur ce que recouvre cette notion d’égalité. J’aimerais évoquer ici quelques problèmes que le traitement de l’égalité peut poser ; j’ai essayé dans la mesure du possible de donner des exemples familiers de tous. J’ai mis entre crochets des digressions plus techniques.

On définit parfois l’« égalité de Leibniz » ainsi : « deux objets sont égaux si toute propriété vraie de l’un est vraie de l’autre » ; autrement dit, ils sont indistinguables. Cette définition est séduisante, mais souffre de difficultés, comme nous allons le voir.

(Une petite parenthèse. On appelle cette définition « égalité de Leibniz », mais j’ignore si Leibniz l’a effectivement posée comme telle. En mathématiques, il n’est pas rare d’attribuer à des auteurs des définitions qu’ils n’ont pas posées mais qui sont dans le fil de leurs idées ou de définitions qu’ils ont posées. J’invite les historien·ne·s des mathématiques à laisser des commentaires...)

Prenons l’égalité d’école primaire, 1+3=3+1. Le membre de gauche, 1+3, est distinguable du membre de droite, 3+1 : le premier commence par 1 (ou, si on le voit comme arbre syntaxique, est un nœud + dont la branche de gauche est 1), le second par 3 ! Il est faux que toute proposition vraie de l’un est vraie de l’autre !

On m’objectera que mon critère est trop syntaxique et omet la sémantique de l’opération d’addition. Bien. Tentons donc de définir celle-ci : si l’on définit les entiers naturels comme étant soit 0 soit le successeur S(x) d’un naturel x, et que l’on considère 1 comme une notation pour S(0) et 3 comme une notation pour S(S(S(0))), on peut définir x+S(y) comme S(x+y) et x+0 comme x. Cela induit une notion de calcul : tant qu’on a une expression de la forme x+S(y) on peut la remplacer par S(x+y), jusqu’à ce qu’il ne soit plus possible de procéder à pareils remplacements — on dit que l’on obtient alors une forme normale. En termes techniques, on parle de système de réécriture, et effectivement les formes normales associées à 1+3 et 3+1 sont bien identiques.

[Cette définition par réécriture est séduisante, mais elle suppose que chaque terme ait une forme normale unique, ce qui n’est pas vrai en général ; on devra donc démontrer des propriétés de confluence et de terminaison du système de réécriture.]

Cette intervention du calcul n’est toutefois pas suffisante pour démontrer une égalité tout aussi familière, à savoir 0+x=x+0. En effet, si la réécriture transforme le membre de droite en x, le membre de gauche reste 0+x. Pour parvenir à démontrer l’égalité, on doit faire intervenir un raisonnement par récurrence sur x : on constate que c’est vrai pour x=0, que si c’est vrai pour x alors c’est vrai pour x+1, donc on conclut que c’est vrai pour tout x.

[La vision syntaxique n’est pas si stupide qu’il n’y paraît. Ceux qui ont fait de la logique se rappelleront peut-être comment on définit le domaine de Herbrand des termes, et que l’on peut construire (pour démontrer le théorème de compacité, le théorème de complétude ou le théorème de Lowenheim-Skolem) un modèle en quotientant ce domaine par une relation d’équivalence. La relation d’égalité sémantique est ainsi une relation d’équivalence entre termes (vus syntaxiquement) compatible avec les opérations et les prédicats (on parle de congruence) et avec le système d’axiomes.]

Prenons maintenant un autre exemple familier : les « fractions », ou, pour parler en termes plus savants, les nombres rationnels. On sait que 2/3=4/6. Pourtant, là encore, on peut distinguer 2/3 et 4/6 : ils n’ont pas le même numérateur ! Une notion d’égalité à la Leibniz n’est donc utilisable que si l’on restreint les propriétés par lesquelles on est autorisé à distinguer les éléments : on va ainsi interdire de faire intervenir des questions sur le numérateur ou le dénominateur. On va donc considérer comme égaux des éléments indistinguables selon une certaine définition de l’observabilité.

On peut également, en l’espèce, définir l’égalité sur les formes « réduites » des fractions, c’est-à-dire celles où un calcul a éliminé les facteurs communs au numérateur et au dénominateur (par exemple, dans 4/6, il y a un facteur commun 2 au numérateur et au dénominateur). Là encore, c’est une commodité appréciable…

Lorsque l’on définit les fractions, on parle de couples d’entiers — par exemple ici (2,3) et (4,6). Nous avons vu que ce n’est pas tout à fait exact, vu que l’on considère comme égaux tous les couples d’entiers qui se réduisent identiquement, bref toute une classe d’équivalence d’entiers — mais passons. Évoquons maintenant le fait bien connu que 2=4/2. 2 est un entier, 4/2 est une fraction donc un couple d’entiers ; a priori ces deux objets ne vivent pas dans le même univers — un entier, ce n’est pas la même chose qu’un couple d’entiers ! Nous les identifions pourtant ; si nous étions parfaitement rigoureux, nous devrions évoquer le fait que l’entier x et le rationnel x/1 se comportent exactement pareil du point de vue des opérations arithmétiques et des comparaisons, ce qui nous permet de les identifier (en termes savants, faire intervenir l’injection canonique des entiers dans les rationnels, préservant la structure d’anneau ordonné).

D’une façon générale, les écrits mathématiques usuels abondent de ces « abus de notation », de ces raisonnements « à équivalence près ». Il y a souvent, outre le discours de la preuve elle même, un méta-discours expliquant au lecteur comment combler les omissions et raccourcis : les « sans perte de généralité », les avertissements que certains objets distincts seront identifiés, etc. Tout ceci aide à alléger un discours mathématique qui, sinon, deviendrait trop lourd donc peu lisible et compréhensible pour les humains.

Les difficultés arrivent lorsque l’on transcrit des raisonnements rédigés pour des humains en des raisonnements destinés à être vérifiés étape par étape par une machin, par des logiciels tels que Coq. En effet, dans ce cas, il faut soit expliciter les identifications, abus de notation et autres détails de raisonnement qui avaient permis d’alléger la rédaction, soit utiliser des mécanismes du logiciel destinés à les reconnaître (par exemple, certains allègements de rédaction se traitent en Coq avec le mécanisme des structures canoniques ; les raisonnements à équivalence près se traitent par les setoids, etc.).

[Ces mécanismes ne sont toutefois par parfaits, loin s’en faut ; mon collègue Pierre Corbineau, lorsque je lui ai demandé à quel point on évitait les problèmes avec les setoids m’a dit « ça marche… sauf quand ça ne marche pas » (il me semble notamment qu’il est très difficile de raisonner modulo équivalence sur l’argument d’un type dépendant). On pourrait également mentionner le fait qu’en Coq, donner un élément vérifiant une certaine propriété (par exemple, donner un entier n inférieur à une certaine borne) revient à donner un couple formé de l’élément et d’une preuve que l’élément vérifie la propriété ; bien que rien d’effectivement observable ne dépende de quelle preuve est utilisée (on peut prouver le même fait mathématique d’une multitude de façons), on peut entrer dans de grandes complications en raison de la non identification d’objets ne différant que par les preuves. D’une façon générale, en Coq, on gagne à travailler avec des objects syntaxiquement uniques, ou, à défaut, avec des formes normales.]

On parle beaucoup, ces dernières années, de remplacer le traitement de l’égalité en théorie des types (notamment en Coq) par des fondations univalentes. Si j’ai bien compris, il s’agit de donner un meilleur traitement de l’égalité. Je ne comprends cependant pas le rapport entre d’une part les problèmes de raisonnement modulo équivalence et la solution proposée, basée sur des notions d’homotopie !

vendredi, septembre 22 2017

Les conférences ou revues scientifique bidons

Les chercheurs en informatique un tant soit peu expérimentés savent qu’il existe depuis longtemps (enfin, au moins depuis une vingtaine d’années) des conférences scientifiques bidons, c’est-à-dire des événements qui se donnent quelques apparences d’un vrai colloque, mais ne contrôlent pas valablement la qualité des interventions. Se sont rajoutées des revues bidons, c’est-à-dire des publications qui se donnent l’apparence de revues de publication scientifique mais qui, là encore, ne contrôlent pas valablement la qualité des articles publiés.

Dans certains cas, le manque de contrôle est tel que des articles générés aléatoirement, et absolument sans sens, ont été acceptés. L’outil SCIgen permet de produire des documents ayant superficiellement l’apparence d’articles de recherche en informatique (présentation, vocabulaire) mais absolument sans aucun sens ; son dérivé MathGen produit des documents ayant superficiellement l’apparence d’articles de recherche en mathématiques (y compris des formules), mais sans aucun sens là non plus. Dans un cas, un « article » consistant en la phrase Get me off Your Fucking Mailing List (« enlevez mon adresse de courrier électronique de votre putain de liste de diffusion ») répétée a été accepté, ce qui indique une absence totale de lecture avant acceptation.

Pourquoi ces revues et conférences bidons existent-elles ?

Sans prétendre lire dans les pensées des organisateurs de ces publications et événements, je soupçonne que leurs motivations sont les suivantes :

  1. Dans certains cas, il s’agit tout simplement d’une activité lucrative : la personne qui assiste au colloque (notamment pour y intervenir), l’auteur d’un article publié, payent une participation aux frais. Il suffit que celle-ci dépasse sensiblement les coûts d’organisation ou de publication pour qu’un bénéfice soit dégagé. (Notons que cela n’est pas propre aux publications bidons : certains grands éditeurs de revues scientifiques dégagent des marges considérables pour les mêmes raisons.)

  2. Dans certains cas, il s’agit d’une activité d’auto-promotion : un groupe de scientifiques ayant du mal à se faire reconnaître monte son colloque, sa revue, où ils s’évaluent les uns les autres.

Quant aux chercheurs qui soumettent des communications à ces revues ou conférences, je pense qu’il existe les cas suivants :

  1. Par inexpérience : ils ne font pas la différence avec une revue ou conférence sérieuse. Ceci me semble d’autant plus probable qu’ils sont écartés des circuits scientifiques habituels.

  2. Dans le cas de conférences organisées dans des endroits « intéressants », ils peuvent vouloir se faire payer un voyage aux frais de leur université, de leur organisme de recherche ou de l’organisme qui finance leurs travaux.

  3. Ils peuvent vouloir, en toute connaissance de cause sur la nullité de la revue ou conférence, allonger leur CV.

Rappelons que les chercheurs subissent une pression constante pour démontrer qu’ils font réellement de la recherche valable. La vérification de cela se fait souvent bureaucratiquement, par l’examen d’une liste de publications et d’autres activités (exposés dans des conférences internationales…). Il y a donc une incitation permanente à multiplier les publications et en tout cas à ne surtout pas apparaître comme « non publiant ». On voit parfois des obligations couperet, par exemple la délivrance d’un doctorat est subordonné à la publication d’au moins un article dans une revue internationale.

Comment distinguer les revues et conférences sérieuses des bidons ?

Il ne s’agit pas d’une science exacte, mais plutôt de l’application de bon sens et d’une connaissance des usages scientifiques. Ce qui suit est issu de mon expérience en informatique, il est cependant possible que certains points s’appliquent à d’autres disciplines.

Prendre l’avis de chercheurs expérimentés

Les chercheurs expérimentés dans un domaine connaissent les revues et conférences habituelles de ce domaine ainsi que leur niveau de sélectivité.

Caveat : ce critère peut encourager à toujours publier dans les mêmes revues rassurantes de quelques grands éditeurs, même quand ces revues sont essoufflées et ne méritent plus la réputation qu’elles ont pu avoir, tandis qu’on ignorera comme suspectes des revues plus jeunes.

L’appel à publications

Les revues sérieuses sollicitent rarement les chercheurs pour qu’ils leur envoient des articles. À l’inverse, les publications bidons envoient des courriers électroniques de masse.

Caveat : il peut arriver que des coordinateurs de numéros spéciaux de revue cherchent à s’assurer d’un nombre suffisant de soumissions et sollicitent leurs collègues.

Les conférences sérieuses envoient un appel à communication, ne serait-ce que parce que les auteurs doivent respecter des dates précises d’envoi qu’il faut rappeler. Cet appel est diffusé via des listes ou sites thématiquement adaptés. À l’inverse, les conférences et publications bidons envoient souvent leurs sollicitations à des chercheurs hors de la discipline concernée.

Des appels répétés, avec décalage des dates de soumission, indiquent que la conférence s’inquiète de ne pas recevoir suffisamment de soumissions. Cela ne veut pas dire que la conférence est bidon, mais plutôt qu’il ne s’agit pas d’un événement des plus prestigieux.

Dans tous les cas, une conférence ou journal sérieux met en avant son comité scientifique (comité de sélection, comité éditorial…).

En revanche, les conférences ou journaux bidons tendent à mettre en avant des critères extra scientifiques tel que leur « facteur d’impact » ou l’indexation de la publication par des systèmes bibliométriques comme SCOPUS, voire Google Scholar — ce qui est d’autant plus ridicule que Google Scholar indexe tout le contenu d’apparence scientifique ouvertement accessible sur le Web. De même, certains journaux peu sérieux indiquent qu’ils sont « prestigieux » — or quand on est véritablement prestigieux, on n’a pas besoin de le dire, tellement cela va de soi.

L'évaluation

Une conférence ou une revue sérieuse doit avoir le temps d'expertiser les articles, ce d'autant plus qu'elle en reçoit beaucoup et que ceux-ci sont longs et techniques. Les referees doivent placer le travail d'évaluation dans un emploi du temps souvent déjà très chargé. Un article accepté en quelques jours n'a donc probablement pas été sérieusement expertisé.

Le lieu de la conférence

Les conférences bidon cherchant à attirer les chercheurs peu scrupuleux en quête de vacances frais payés tendent à être organisées dans des lieux touristiques (Las Vegas, Orlando, les îles grecques…).

Caveat : il peut exister d’excellentes raisons d’organiser une conférence sérieuse dans de tels lieux, notamment la présence d’une bonne capacité hôtelière, de centres de congrès, d’un aéroport bien desservi... Par ailleurs, il ne faut pas oublier qu’un lieu touristique peut avoir des habitants y compris des scientifiques — je suis ainsi allé deux fois en conférence à Venise tout simplement car ces années là c’étaient des collègues de l’Université de Venise qui organisaient.

Le comité scientifique

Une conférence ou journal sérieux fait sélectionner les communications acceptées par un comité composé de scientifiques compétents du domaine, de préférence jouissant d’une certaine reconnaissance de leur pairs. (Cela ne veut pas dire que le comité doit être composé exclusivement de « mandarins », car on sait bien que ceux-ci sont souvent trop occupés pour bien faire leur travail éditorial.)

S’agissant de disciplines où l’on s’attaque à des problèmes qui ne sont pas propres à un pays ou une langue, on s’attend à un comité international. En informatique, cela veut dire qu’il y aura des membres en poste aux États-Unis et/ou Canada, en Europe occidentale et centrale, au Japon et/ou Corée, éventuellement en Australie et/ou Nouvelle-Zélande, en Inde, parfois en Chine, Brésil, Argentine, Chili. Un comité ne comprenant que des membres d’un seul pays peut être suspecté d’être une « bande de copains » pratiquant l’autopromotion.

Caveat : il va sans dire qu’il est normal que le comité d’une conférence française, destinée à faciliter les rencontres, les collaborations et la vie d’une communauté scientifique française, soit principalement composé de chercheurs français.

Les membres du comité doivent être clairement identifiés. En informatique, on donne généralement un lien vers leur page Web professionnelle, qui comprend elle même généralement un lien vers une liste de publications ou d’autres indications démontrant leur activité scientifique.

À l’inverse, les publications et conférences bidons n’indiquent pas leur comité scientifique, ou encore celui-ci est composé d’inconnus.

Caveat : il arrive que des conférences et publications bidons ajoutent des scientifiques sérieux comme membres d’un supposé comité scientifique sans le consentement de ceux-ci (bien évidemment, ils ne sont pas sollicités lors du processus éditorial). Il arrive aussi que des scientifiques sérieux soient bernés : sollicités par un collègue pour être membre d’un comité, ils acceptent et découvrent trop tard qu’ils servent de caution à un processus non respectueux de la rigueur scientifique.

Les sollicitations à être membre du comité scientifique

La sollicitation pour être membre d’un comité scientifique vient ordinairement d’un collègue et non d’une maison d’édition. On peut d’autant plus suspecter une escroquerie si le courrier est exagérément flatteur mais semble ignorer le domaine d’activité précis de la personne sollicitée. Aucune revue respectable ne sollicite des chercheurs « à l’aveuglette » pour peupler son comité scientifique.

Les thématiques

Une conférence scientifique, un revue sérieuse a une thématique d’ensemble bien identifiée, souvent explicitée par une liste de sous-thèmes (voir par exemple l’appel à communications de CAV 2017). Ceci s’explique aisément : dans le cas d’une conférence ou d’une revue destinée à la publication de résultats originaux, et non de vulgarisation, il faut bien que le comité éditorial soit spécialiste des sujets traités ; par ailleurs l’assistance d’une conférence n’est souvent pas en mesure de suivre la présentation de résultats de recherche trop éloignés de ses thématiques.

Caveat : on sollicite parfois, dans une conférence thématique, des exposés hors de cette thématique ; il existe par ailleurs des conférences destinées à des échanges entre plusieurs champs scientifiques. Les exposés sollicités ne sont alors normalement pas des présentations de résultats originaux de recherche, mais plutôt des tutoriels, introductions, exposés de vulgarisation.

À l’inverse, les conférences bidons ont souvent des thématiques vastes et floues, utilisant des termes ronflants mais imprécis (par exemple « cybernétique » ou « systémique »), parfois groupant plusieurs disciplines sans grand rapport, ou encore mettent en avant des mots-clefs à la mode (par exemple Big Data ou Cloud).

Caveat : il existe dans les thématiques à la mode de vrais problèmes scientifiques et il peut donc être légitime d’organiser des conférences dessus. Par ailleurs, dans certaines disciplines scientifiques, il est de coutume d’organiser des grandes conférences à spectre thématique très large, mais qui sont en fait l’agrégation d’un très grand nombre de sessions thématiques, chacune gérée par des spécialistes de leur thème.

Il n’y a bien entendu rien de mal à pratiquer l’interdisciplinarité. Toutefois, les travaux interdisciplinaires posent des problèmes d’évaluation certains. Les domaines flous et mal définis, sans thèmes, méthodes ou communauté scientifique bien identifiée, attirent les escrocs.

L’éditeur ou l’organisation organisatrice

Une conférence organisée par une société savante reconnue (par exemple l’ACM) ou encore des chercheurs d’une université réputée, une revue ou compte-rendu de conférence publié par un éditeur connu (Springer LNCS...), peuvent jouir d’une présomption de sérieux. À l’inverse, il existe des éditeurs, notamment en Inde, spécialisés dans les publications peu sérieuses. Plus près de chez nous, mes collègues de sciences humaines me disent que certaines collections d’un éditeur parisien bien connu relèvent largement d’une publication à compte d’auteur sans véritable filtre éditorial (en clair, l’auteur est publié tant qu’il paye).

Caveat : Ce critère est à manier avec précaution.

  1. On a vu de grands éditeurs publier des ouvrages ou des revues de piètre qualité, des sociétés savantes (je pense notamment à l’IEEE) être insuffisamment regardants…

  2. Ce critère tend à conforter l’oligopole des grands éditeurs scientifiques (Elsevier, Springer) qui font des bénéfices considérables avec l’argent du contribuable.

Le faible rapport avec la fraude scientifique au sens ordinaire

Les revues et conférences vraiment bidons publient n’importe quoi, mais en même temps personne ne consulte leurs articles.

La fraude scientifique au sens ordinaire consiste d’une part à truquer des résultats (prétendre que des expériences ont réussi alors que non, ignorer délibérément que des expériences ont échoué, etc), d’autre part à plagier des résultats existants (ce qui peut d’ailleurs se faire de façon plus adroite qu’un simple copier-coller), dans le but de publier dans des lieux prestigieux, ceci afin de promouvoir sa carrière ou de solliciter des financements.

Or, en informatique du moins, on ne promeut pas efficacement et à long terme sa carrière en publiant dans des revues bidons (si on les liste dans son CV, on se « grille » vite — il ne faut d’ailleurs pas oublier que les collègues parlent entre eux et que les comportements douteux finissent par être connus bien au-delà du laboratoire). Par ailleurs, il n’y a pas besoin d’inventer des résultats enthousiasmants pour publier dans les revues bidons, puisque celles-ci ne vérifient pas le contenu des articles.

Il s’agit donc de deux phénomènes séparés, même s’ils ont une cause commune : la volonté d’embellir CV et compte-rendus d’activité.

jeudi, juin 29 2017

Enquête sur un bug

Le débogage informatique, c’est difficile : il faut des connaissances techniques, une tête froide, beaucoup de logique, de méticulosité... et même d’inventivité, car il faut imaginer l’inimaginable. D’ailleurs, les étudiants, même dans des filières très sélectives, ont souvent beaucoup de mal à s’y mettre.

Je conseille le récit de cette recherche de bug, mettant en jeu Ahrefs, une entreprise avec des racines en Ukraine, des bureaux à San Francisco et son siège à Singapour, les développeurs d’OCaml, de l’INRIA et d’autres organismes, et enfin Intel, le géant des microprocesseurs. C’est quasiment une enquête policière… on perçoit les abîmes de perplexité des personnes impliquées.

On peut aussi consulter la page de suivi du bug chez OCaml, la liste des errata de ces processeurs chez Intel, les notes accompagnant le paquet Debian fournissant un microcode supprimant le bug, qualifié de nightmare-level; et (merci à mes lecteurs) un billet de Xavier Leroy.

PS J'ai un ordinateur portable avec un des types de processeurs concernés et j'ai eu des exécutions OCaml (la compilation de Coq) qui échouaient mystérieusement avant de réussir. Je n'avais pas creusé !

mercredi, juin 28 2017

Experts en cybersécurité

J’apprends qu’une émission de télévision a interrogé Alain Bauer au sujet des récentes cyberattaques.

Les organismes de recherche français (CNRS, INRIA, CEA, universités, écoles d'ingénieurs…) ainsi que des services gouvernementaux (ANSSI, DGA-MI...) ont des experts en sécurité informatique.

Ceux-ci ne sont pas forcément difficiles à trouver. Une recherche Google sur « CNRS sécurité informatique » donne en premier choix l’adresse d’un colloque « Sécurité informatique, mythes et réalité ». On y trouve très rapidement le nom d’intervenants tels que Gildas Avoine, Marc-Olivier Kiljian, le colonel de gendarmerie Éric Freyssinet, Jean-Yves Marion, etc. On peut aussi tout simplement penser à Guillaume Poupard, le directeur de l'ANSSI.

On peut donc se demander pourquoi on ne fait pas appel à eux. Se pourrait-il que ce soit parce que les scientifiques et les vrais experts ne parlent pas avant de s’être renseignés ?

mardi, juin 27 2017

Quelques précisions sur les concours de recrutement de chercheurs au CNRS

Il est rare que le résultat des concours de recrutement dans l’enseignement supérieur et la recherche fasse l’objet de polémiques publiques. C’est pourtant le cas des concours de chargé de recherche au CNRS de cette année, plus précisément de ceux de l’Institut des sciences humaines et sociales (InSHS), une des divisions de cet organisme ; on en parle dans Le Monde et sur France Culture ! C’est l’occasion pour moi de revenir sur le déroulement de ce concours.

Quand on parle de concours de la fonction publique, on imagine une suite d’examens écrits et oraux, plus ou moins scolaires, portant sur les connaissances générales et spécifiques attendues du personnel recruté. Les concours de recrutement de chercheurs ne se déroulent absolument pas comme cela.

Le candidat (ou la candidate, bien évidemment) soumet en ligne un dossier comportant d’une part un résumé de ses travaux de recherche précédents (y compris une liste de publications, brevets, etc.) d’autre part un projet de recherche et d’intégration dans des laboratoires du CNRS. En effet, le travail de recherche scientifique, une fois mené, se concrétise principalement sous la forme de publications décrivant les résultats auxquels on est arrivé, dans des revues ou ouvrages spécialisés, après passage devant un comité de lecture et de sélection.

On vérifie d’abord si le dossier est complet et si le candidat vérifie les conditions légales pour concourir, c’est-à-dire la possession d’un doctorat (sauf dispense par une commission scientifique). Le candidat est déclaré « admis à concourir ».

Le dossier est examiné par une commission compétente pour la discipline concernée (on peut candidater dans plusieurs disciplines en même temps), formée de membres élus par les chercheurs du CNRS et par des enseignants-chercheurs ou chercheurs d’autres organismes. Il s’agit, plus précisément, soit d’une section du Comité national de la recherche scientifique (qui a pour autre rôle notamment d’évaluer les chercheurs du CNRS et de se prononcer sur leurs promotions) soit d’une commission interdisciplinaire. Ces sections et commissions sont numérotées, c’est pour cela que dans les articles de presse cités on parle de postes de section 36, 39, etc.

À l’issue de cet examen, une partie des candidats (mettons la moitié) sont admis à poursuivre et à se présenter à une audition où ils présenteront leurs travaux, leur projet et répondront à des questions. L’utilité de cette audition, brève en raison du nombre importants de candidats à passer, est discutée, notamment en raison de la rigidité administrative qu’elle impose (on fait venir, à leur frais, des candidats parfois de très loin, et l’absence est éliminatoire).

La commission produit un classement d’admissibilité, comportant habituellement plus de candidats que de postes à pourvoir (un concours est habituellement ouvert pour quelques postes, voire un seul). Ce classement est ultérieurement transmis à un jury d’admission, commun à plusieurs sections ou commissions, qui établit un classement définitif en sélectionnant parmi les admissibles. Ce jury d’admission est lui aussi formé de scientifiques du domaine, dont des représentants des sections compétentes et des personnalités scientifiques extérieures nommées par la direction — je précise cela, car certains propos tenus dans l’actuelle polémique suggéraient qu’il comprenait des « administratifs ». On m’a toutefois plusieurs fois suggéré que l’avis de la direction de l’institut y est important.

Le plus souvent, le classement d’admission, comportant une liste principale d’autant de candidats que de postes, puis une liste complémentaire, reproduit celui d’admissibilité, à l’exception de candidats ayant démissionné du concours (par exemple, parce qu’ils ont obtenu un poste à l’étranger). Parfois, le jury d’admission permute des candidats de la liste complémentaire, ce qui a une importance notamment si des postes non pourvus sur d’autres concours sont redéployés, ce qui permet de recruter un candidat de plus que le nombre initialement prévu sur un concours donné. Il est en revanche rare que des candidats en liste principale soient déclassés, et c’est ce qui suscite la polémique.

L’an dernier, le jury d’admission de l’institut d’informatique (InS2I) a déclassé des candidats en liste principale (voir le classement d’admissibilité et le classement d’admission), ce qui a provoqué une polémique entre la section 6 et la direction de l’institut, la première publiant une motion, la seconde répliquant par un courriel aux laboratoires dans laquelle elle détaillait les raisons du jury d’admission. Je ne citerai pas in extenso ce courrier, mais on y évoquait la nécessité d’équilibrer les thématiques (le jury d’admissibilité ayant favorisé certains thèmes de recherche, très théoriques, au détriment des autres) et les provenances (quatre candidats classés ayant leur directeur de thèse ou leur co-directeur de la même équipe du même laboratoire).

Je serais donc curieux d’en savoir plus sur les raisons des jurys d’admission InSHS de 2017, au delà des postures convenues.

Réf: Décision de constitution auprès de chacun des instituts du CNRS d'un jury d'admission pour les concours de recrutement des chargés de recherche ouverts au titre de l'année 2017, réf. DEC171262DRH, Bulletin officiel du CNRS, avril 2017, pp 244-251

PS Ce billet, rédigé sur mon temps libre, ne comporte ni approbation ni improbation des positions du CNRS, et n'est pas non plus une référence officielle concernant la procédure des concours — seuls les textes et sites officiels font foi.

PS² Réaction du conseil scientifique de l'InSHS, et réaction de la direction du CNRS à la polémique.

mercredi, juin 21 2017

Le chercheur et la vie réelle

Les réseaux sociaux ont beaucoup bruissé hier de cette attaque du député Jean-Luc Mélenchon envers le député et ex-collègue Cédric Villani :

Il y en a quand même, ils [ne] sont au courant de rien, donc quand on va leur expliquer… Non mais il y a des braves gens là-dedans ! Il y a des braves gens ! Bon il y a beaucoup de DRH, des gens comme ça qui ont une conscience sociale assez faible (pas toujours, hein !), mais il y a beaucoup de…[fait des moulinets avec sa main au dessus de sa tête] des chercheurs, des intellectuels, des chais pas quoi… J’ai vu le matheux là, je vais lui expliquer ce qu’est un contrat de travail, il va tomber par terre ! Parce qu’il [ne] le sait pas, tout simplement, il [ne] sait pas ce qu’il y a dedans ! Il ne sait pas que la journée de huit heures, c’est cent ans de luttes ! Le gars il croit que ça a toujours été comme cela !

Cédric Villani a répondu ainsi :

Cher @JLMelenchon, Directeur de l'IHP, j'en ai vu des contrats de travail... mais c'est tjs un plaisir de recevoir des cours particuliers !

Beaucoup de choses ont été dites suite à cette passe d’armes, mais je voudrais donner quelques points factuels.

L’image d’Épinal du chercheur est un être quelque peu fantasque et déconnecté du réel, à l’apparence excentrique, distrait et pas fait pour gérer des réalités terrestres, comme Tryphon Tournesol. Cédric Villani a d’ailleurs abondamment joué de son apparence pour construire sa présence dans les médias — bien entendu, la plupart des chercheurs, fussent-ils en mathématiques, ont une allure bien plus passe-partout. Au-delà de ces aspects superficiels, qu’en est-il réellement ?

En 2017, un chercheur qui veut disposer de moyens doit répondre à des appels à projets de recherche, pour lesquels on lui demande la présentation d’un budget, qui peut faire apparaître des coûts salariaux. Je passe à mes lecteurs la liste détaillée des amusants aspects extra scientifiques à prendre en compte — amortissement du matériel, cotisation ou absence de cotisation chômage, calculs de gratifications de stage, TVA, partage de propriété intellectuelle, règlement financier de l’appel à projet, etc. Très souvent, le chercheur n’est guère aidé pour cela par les services administratifs et doit donc apprendre « sur le tas ».

Quant à un directeur d’unité tel que Cédric Villani, si normalement ce n’est pas lui qui signe in fine le contrat de travail au nom de l’établissement, c’est parfois lui qui organise les recrutements de contractuels (cela peut aussi être un chef de service ou de projet qui le fait), et bien sûr il voit normalement passer pour approbation tous les contrats de travail des contractuels rattachés à sa structure. Là encore, je passe à mes lecteurs la complexité de la gestion administrative et financière d’une unité avec plusieurs tutelles, chacune ayant ses propres marchés publics, ses propres particularités d’emploi.

Bien entendu, cela ne fait nullement du chercheur, fût-il directeur d’unité, un fin connaisseur des aspects financiers et administratifs ou du droit du travail des fonctionnaires et des contractuels de la fonction publique. En même temps, il est bien forcé de s’y intéresser un tant soit peu, sauf à aller au devant de graves problèmes...

(Sinon, il me semble bien que les luttes sociales étaient au programme d’histoire du baccalauréat C du temps où Cédric Villani l’a passé ; cela sans présager de son attention sur cette partie du programme.)

jeudi, juin 15 2017

Les limites de ma vulgarisation

Le ''Journal du CNRS'' m'a sollicité ce printemps pour deux articles qu'ils ont mis en ligne :

  1. Un point de vue sur la question de l'usage des « algorithmes » par les pouvoirs publics et les questions qu'il faut se poser en matière de transparence, d'opposabilité et de contrôle démocratique.
  2. Un article plus relié à mon domaine de recherche sur les méthodes pour assurer la fiabilité des logiciels de contrôle-commande en avionique, sujet qui m'a beaucoup occupé de 2002 à 2007.

J'ai par ailleurs publié avec Virginie Gautron un article aux Archives de politique criminelle un article sur l'usage des « algorithmes » pour rechercher des profils suspects dans la population.

Si je suis effectivement expert en méthodes formelles et j'ai effectivement réalisé avec d'autres des outils industriels dans ce domaine, je ne suis expert ni en méthodes d'apprentissage ni en leur application aux problèmes sociaux ou juridiques ; se pose donc la question de ma légitimité à écrire sur ces sujets.

Je m'en suis évidemment tenu à des généralités que n'importe quel scientifique du domaine qui se tient un peu au courant pourrait énoncer, par exemple au rappel de faits statistiques de base; j'ai par ailleurs fait relire une partie de mes propos par des spécialistes. Pourtant, je ne me sens guère à l'aise, et j'ai d'ailleurs tenté de rediriger mes interlocuteurs vers des collègues plus à même de répondre à leur demande.

J'éprouve, je ne le cache pas, un certain agacement quand je vois des universitaires, faisant état de leurs titres et en tirant légitimité pour s'exprimer en public, parler de sujets qu'ils ne connaissent guère pour dire au mieux des platitudes, au pire des faussetés. Le danger est donc pour moi de me comporter d'une façon que je réprouve chez les autres.

D'un autre côté, il semble que les instances de médiation scientifique, les collègues d'autres disciplines voire les pouvoirs publics manquent d'interlocuteurs scientifiques en informatique. Si personne n'accepte ce rôle, fût-ce pour parler de domaines qu'ils ne connaissent que de loin, ils trouveront d'autres interlocuteurs, encore moins qualifiés. Par ailleurs, le niveau d'explications à fournir n'est souvent guère élevé et ne nécessite pas de connaissances approfondies ; après tout, on attend d'un enseignant-chercheur en informatique qu'il puisse assurer des enseignements de licence même s'ils ne portent pas sur sa spécialité !

Qu'en pensez-vous ?

mercredi, mai 31 2017

Sécurité informatique, soupir

Je reviens d’un petit colloque sur la sécurité informatique. Quelques réflexions.

Complexification

Les ordinateurs personnels d’il y a une trentaine d’années étaient simples. Une documentation technique très complète du système (instructions du processeur, registres des contrôleurs d’entrée sortie, appels systèmes…) pouvait être fournie en quelques volumes. En revanche, les ordinateurs actuels (qu’il s’agisse de machines de bureau, de portables ou de smartphones) sont très complexes. La documentation de l’architecture x86 prend plusieurs milliers de pages.

Il y a trente ans, un développeur (même novice) pouvait rapidement maîtriser une grande partie du fonctionnement de sa machine. De nos jours, c’est impossible : il y a trop de choses, qui changent qui plus est toutes les quelques années. Il y a vingt ans, je comprenais à peu près le fonctionnement d’un système Linux (mais pas le détail), de nos jours il y a bon nombre de zones mystérieuses.

Dans l’exposé d’Éric Freyssinet et les interventions de Jean-Yves Marion, on a bien senti la même évolution dans le développement des outils d’intrusion informatique. Le cliché des films est le « petit génie » de l’informatique opérant isolément : or les attaques sont complexes à mettre en œuvre et mettent souvent en jeu plusieurs groupes de personnes, chacun spécialisé sur une partie du problème.

Parallèlement, on assiste à une fuite en avant et une complexification des mesures de sécurité. Il y a longtemps, sur un système Unix, il existait les processus utilisateurs, les processus privilégiés (ceux de l’utilisateur root) et le noyau du système. Maintenant, on a éventuellement au dessus du noyau un hyperviseur, peut-être lui même virtualisé dans un autre hyperviseur… voire un composant matériel « sécurisé » indépendant du processeur principal.

Bien entendu le logiciel se complique aussi. Aux débuts du Web, le trafic passait « en clair » (http) sur le réseau, de sorte que toute personne qui avait accès aux équipements réseau pouvait espionner le trafic. Récupérer une page Web était relativement simple. Depuis on est largement passé à une transmission chiffrée (https), plus sûre mais aussi considérablement plus complexe pour le logiciel.

Plus un système est compliqué, plus il offre de possibilités d’erreur et de « surface d’attaque ».

Une pensée a posteriori

Comme on le voit bien sur l’exemple de http suivi de https, la sécurité est souvent rajouté a posteriori par-dessus une fonctionnalité. Ceci conduit à des systèmes complexes et parfois assez baroques.

Mais qui a pu avoir une idée pareille ?!

Au récit du fonctionnement technique de certaines attaques, on se demande comment quelqu’un a pu penser que c’était une bonne idée que de concevoir le système attaqué en y laissant une faille béante. Quelques exemples :

  1. L’Étoile de la Mort de l’Épisode IV de la Guerre des Étoiles a une bouche de refroidissement dans laquelle un simple tir par un appareil de combat léger provoque sa destruction totale.

  2. Un périphérique Firewire avait naguère le droit d’initier un transfert de ou vers la mémoire de la machine sur laquelle il était branché sans contrôle de ce à quoi il avait le droit d’accéder — on vous prêtait une caméra ou un disque dur, celle-ci pouvait donc prendre le contrôle de votre machine.

  3. Certaines machines à base de processeurs Intel avaient une console de commande système à laquelle on pouvait accéder en fournissant un mot de passe vide — apparemment, elle vérifiait que le mot de passe fourni par l’utilisateur était le bon en ne comparant que jusqu’à la longueur du mot de passe fourni par l’utilisateur…

  4. Quelqu’un avait cru bon de modifier le générateur de nombres aléatoires d’OpenSSL d’une façon qui réduisait considérablement son aléa et rendait des clefs de chiffrement trouvables par recherche exhaustive, car la modification supprimait un avertissement dans un outil de recherche de bugs.

On en est au point parfois où l’on se demande s’il s’agit d’incompétence ou d’erreurs sciemment mises en place à la demande de tel ou tel service.

Internet of Things

Les entreprises qui vendent des objets connectés ont pour objectif d’arriver rapidement sur le marché ; la sécurité représente un surcoût en temps et en argent. Ces entreprises peuvent avoir un cœur de métier traditionnel (électroménager…) éloigné des réseaux et de la sécurité. Elles ne sont pas forcément prêtes à fournir des mises à jour de sécurité en continu (à l’inverse de fournisseurs de systèmes d’exploitation tels que Microsoft, Apple, ou Ubuntu). Comme on peut s’y attendre, la sécurité est faible.

On a, dit-on, des bot-nets de réfrigérateurs et de caméras de surveillances connectées. On s’attend à des bot-nets de voitures connectées. On espère, mais peut-être est-ce un fol espoir, que dans ces véhicules la partie compromise ne sera que le système de divertissement et non ce qui contrôle la conduite. Et que dire des dispositifs médicaux connectés !

Des systèmes sécurisés inutilisables donc inutilisés

En théorie, il est possible de chiffrer son disque dur (de façon à rendre les informations qui s’y trouvent illisibles pour un voleur, par exemple), de chiffrer son courrier électronique (de façon à ce que les opérateurs de réseau et hébergeurs de courrier ne puissent pas le lire), d’utiliser une messagerie instantanée chiffrée.

En pratique, peu de gens le font : les logiciels qui font cela ne sont pas installés par défaut, ils demandent une configuration spécifique (voire l’intervention de prestataires extérieurs), parfois ne fonctionnent pas pour des raisons mystérieuses. Même parmi les chercheurs en informatique, a priori un public a priori plus sensibilisé et apte techniquement que la majorité de la population, on sent ces difficultés.

Conclusion

Je ne déborde pas d’optimisme.

dimanche, mai 28 2017

Le devenir des jeunes docteurs et ses paradoxes

Je lis régulièrement des articles (dans la presse, sur des blogs, des sites associatifs, sur Twitter…) évoquant les « galères » des doctorants, la difficulté à trouver un emploi ensuite, le nombre de postes insuffisants dans l’enseignement supérieur et la recherche publiques. Il me semble que ces discours gagneraient souvent à mieux cibler les domaines concernés (les difficultés ne sont pas les mêmes partout) et à donner le contexte d’interprétation (ce qui éviterait certaines conclusions hâtives).

Il y a actuellement en général un nombre élevé de candidats par poste de chercheur ou d’enseignant-chercheur ouvert au concours. Ce nombre varie suivant les disciplines. Certains en concluent que certaines disciplines sont très bien dotées et qu’il y est « facile » d’obtenir un poste. Il convient de nuancer ces propos.

Dans certaines disciplines de « sciences exactes », une bonne proportion de jeunes docteurs ne candidate pas aux emplois d’(enseignant-)chercheurs publics ; parfois ils passent par sécurité la qualification de maître de conférence, mais ne candidatent pas ensuite, ou encore candidatent « mollement » ; en cas d’échec, ils ne réessayent pas forcément. Ils vont travailler dans des entreprises privées. À l’opposé, dans d’autres disciplines, les jeunes docteurs candidatent, et après un échec candidatent à nouveau, éventuellement depuis des postes d’enseignants dans le secondaire. Il me paraît délicat de conclure que telle ou telle discipline est plus « difficile » qu’une autre.

Ce constat pourrait (j’emploie le conditionnel car bien évidemment il faudrait le vérifier) expliquer le paradoxe que dans les sciences humaines et sociales, réputées disciplines où il est très difficile d’obtenir un poste, le ratio du nombre de qualifiés aux fonctions de maîtres de conférence sur le nombre de postes ouverts est comparable à celui en informatique (que certains jugent discipline facile), tandis que le nombre de candidats par poste ouvert est supérieur. Il est possible que cela soit tout bonnement dû à ce qu’en informatique de nombreux jeunes docteurs passent la qualification par sécurité sans candidater, ou en candidatant peu, et en tout cas ne s’obstinent pas ensuite.

En ce qui me concerne, j’ai eu jusqu’à présent trois doctorants qui ont soutenu. Sur les trois, l’un travaille maintenant chez Apple (dans la Silicon Valley), un autre chez Grammatech (également aux États-Unis), le troisième chez Clustree (en France). Seul l’un des trois a candidaté à un poste de maître de conférence, et encore n’a-t-il candidaté qu’à un poste et, j’en ai l’impression, sans trop y croire. L’un fait maintenant des choses sans rapport avec sa thèse (si ce n’est qu’il s’agit d’informatique et qu’on y utilise les mêmes mathématiques de base), un autre des choses en rapport avec sa thèse mais plus « appliquées ». Je soupçonne qu’en informatique, tout docteur sachant programmer et qui cherche un emploi un peu sérieusement en trouve un très rapidement — il me semble que les doctorants de notre laboratoire qui abandonnent des thèses trouvent également très vite un emploi.

Il me semble heureux que ces jeunes docteurs trouvent des emplois dans l’industrie. En effet, en raisonnant globalement, il n’y a besoin que d’un jeune chercheur pour me remplacer, quand je quitterai mon poste. Pourtant, en moyenne, chaque chercheur ou enseignant-chercheur encadre bien plus de doctorants qu’un seul ; ce qui veut dire que, même avec une politique d’enseignement supérieure et de recherche ambitieuse et sans austérité, la très grande majorité des jeunes docteurs doivent chercher des emplois en dehors de la recherche publique (il y a peut être des exceptions localisées, avec des recrutements massifs dans certaines disciplines ou thématiques « à la mode », mais on ne peut en faire une règle générale). Aucune société, fût-elle amoureuse des sciences comme le fut feue l’Union soviétique, ne pourrait soutenir une inflation exponentielle des emplois scientifiques.

La clef du problème me semble donc être, encore une fois, les débouchés en dehors de l’enseignement supérieur et de la recherche publique. En tout état de cause, il faudrait éviter les constats globaux, alors qu’il s’agit de questions à aborder par discipline, voire sous-discipline.

vendredi, mai 26 2017

Les revues scientifiques bidons, suite

Le journaliste du Monde Pierre Barthélémy appelle la Science à « faire le ménage » des revues scientifiques bidons. Comme dans mon billet précédent, je déplore la confusion entre deux problèmes à mon avis distincts.

Le premier problème est le lancement, à des fins de rentabilité financière, de conférences et revues « scientifiques » qui invitent des orateurs ou publient des articles sans qu’il n’y ait d’évaluation scientifique (ou, ce qui revient au même, avec une évaluation sciemment ignorée).

Il convient ici de rappeler que ni la science ni l’édition scientifique ne sont des professions réglementées, comme le sont par exemple la médecine ou la pharmacie. N’importe qui peut se dire philosophe, sociologue, astrophysicien… et d’ailleurs les médias, dont le Monde, ne se privent pas de présenter comme des scientifiques des individus qui ne jouissent d’aucune reconnaissance de la part de la communauté scientifique. De même n’importe qui peut fonder une « revue scientifique », et la communauté scientifique n’a pas plus de moyen de faire fermer celle-ci qu’elle n’en a d’interdire aux télévisions et aux magazines de faire se parader des charlatans.

Les revues et conférences totalement bidons, sans vrai comité scientifique, sont en dehors de la communauté scientifique. Tout ce que celle-ci peut faire à leur égard, c’est de ne pas tenir compte de leurs articles et présentations dans l’évaluation des curriculum vitæ de chercheurs ou des demandes de financements. C’est déjà très largement le cas.

Un second problème, distinct dans ses processus comme dans ses conséquences, est l’existence de revues en apparence sérieuses — notamment, munies de comités d’universitaires appartenant à des organismes réputés et bénéficiant d’autres signes extérieurs de réputation (grade élevé, invitations…). C’est ce que visaient les canulars Sokal et Tremblay.

Une telle revue ne peut exister qu’avec des soutiens dans la communauté scientifique, voire l’existence de toute une école de pensée et d’équipes de recherche liées. Le problème n’est donc plus celui d’une publication, mais de toute une communauté. Si telle revue n’est pas sérieuse, alors il en est de même de son directeur éditorial… mais que dire alors de ceux qui l’ont promu à son poste universitaire ? Les ramifications et les implications humaines sont importantes.

Ces sujets sont d’autant plus délicats que la mise en lumière d’un manque de sérieux chez certains auteurs, dans une certaine école de pensée… peut être perçue comme une attaque globale sur une discipline entière, voire un groupe de disciplines. On se rappellera par exemple la polémique intense ayant suivi la sortie d’Impostures Intellectuelles, perçu comme une attaque de physiciens étrangers contre les sciences humaines et sociales françaises. Une telle critique est inaudible pour ceux qui devraient l’écouter.

Que faire ? Je ne le sais pas. Et vous ?

lundi, mai 22 2017

Sur la portée expérimentale des canulars dans les publications scientifiques

On connaît la pratique de l’article canular dans les revues scientifiques. Le scénario est toujours un peu le même :

  1. Un article dénué de sens mais qui respecte superficiellement les canons d’un domaine scientifique (présentation, vocabulaire, bibliographie, formules mathématiques le cas échéant…) est soumis à une revue ou conférence.

  2. L’article est accepté, ce qui laisse supposer qu’il n’a pas été soumis à la relecture d’experts (ou que leurs avis ont été totalement ignorés).

  3. Les auteurs de l’article informent le public ; parfois les médias reprennent l’information. Des conclusions sont éventuellement tirées, à plus ou moins bon escient, sur la scientificité du domaine scientifique concerné ou sur le sérieux d’un mode d’édition.

Je ne prétends pas ici fournir un historique du genre, et me limiterai donc à quelques faits marquants.

Le canular le plus célèbre de ce genre est sans doute celui du mathématicien et physicien Alan Sokal en 1996, débouchant sur « l'affaire Sokal ». En 2005, des chercheurs en informatique du Massachusetts Institute of Technology font accepter à une conférence un article généré automatiquement, aléatoirement et totalement dénué de sens. Leur logiciel SCIgen est modifié et adapté et d’autres font accepter des articles similaires. En 2013, un journaliste de la revue Science piège un bon nombre de revues avec un article de biologie bidonné. En 2015, des sociologues du Carnet Zilsel font accepter un article ridicule, signé d’un québécois fictif nommé Jean-Pierre Tremblay, à une revue de sociologie française.

Je pense que, malheureusement, une bonne partie des commentaires sur ces canulars mélangent des choses qui ne le devraient pas.

SCIgen visait des conférences qui étaient largement connues des scientifiques du domaine comme étant bidon (ce qu’on appelle parfois conférences prédatrices). En résumé, des gens organisaient des conférences dans des lieux touristiquement intéressants (par exemple : Orlando, Floride), mais acceptaient comme intervenants n’importe qui à condition que celui-ci règle les frais d’inscription, alors qu’une conférence scientifique respectable les sélectionne (soit par invitation, soit par appel à soumission d’un résumé voire d’un article complet). Ce canular a eu le mérite de confirmer publiquement des soupçons très largement partagés. En revanche, il ne dit rien sur le sérieux des champs scientifiques concernés, vu que ces conférences sont très largement rejetées par les acteurs de ces champs.

Sokal visait une revue (Social Text) éditée par les presses d’une grande université américaine et avec un comité éditorial apparemment respectable. Le canular Tremblay visait une revue, Sociétés, fondée et longtemps dirigée par Michel Maffesoli, sociologue français parvenu jusqu’au plus haut grade de la hiérarchie universitaire. Il y a là une certaine légitimité pour une discussion sur le sérieux d’une revue, d’une école de pensée, bien qu’évidemment il soit périlleux de conclure sur une unique expérience (une expérience statistiquement significative supposerait probablement un effort considérable, tandis que les canulars Sokal et Tremblay relevaient d’une sorte de hobby).

Certaines expériences menées visaient des revues Open Access dont le modèle économique repose exclusivement sur les frais de publication. Ces revues ont donc avantage, pour dégager du profit, à publier le plus d’articles, et certaines ne contrôlent pas ce qu’elles publient. Là encore, rien qui ne soit déjà fortement soupçonné : il existe de multiples signes qui incitent à la méfiance…

Plus que les expériences en elles-mêmes, ce qui paraît discutable ce sont les conséquences que certains prétendent en tirer. Qu’il soit possible d’obtenir de parler dans une conférence d’informatique non reconnue par les informaticiens ne permet pas de déduire grand-chose de l’informatique. Qu’il soit possible de publier des âneries dans certaines revues Open Access ne permet de conclure que l’ensemble des revues Open Access manquent de sérieux ; tout au plus qu’il faut être vigilant et attentif au comité éditorial et à son fonctionnement. Qu’il soit possible de publier des textes dénués de sens dans des revues de sociologie ou d’études de genre ne permet pas de conclure que la sociologie ou les études de genre sont des pseudo-sciences ; tout au plus d’avoir des soupçons sur certaines « chapelles » et sur les mécanismes qui ont permis leur installation. Peut-être l’occasion d’études de sociologie des sciences sociales ?



jeudi, mai 18 2017

Équivalence des représentations de polyèdres convexes

On sait qu’un polyèdre convexe borné peut s’exprimer aussi bien comme l’enveloppe convexe V d’une famille de points que comme l’intersection H d’une famille finie de demi-espaces. On peut donc vouloir vérifier que deux telles représentations sont équivalentes.

On montre facilement que ce problème est dans co-NP :

  1. L’inclusion V ⊆ H se vérifie aisément (produit de matrices).

  2. H ⊊ V si et seulement si il existe un sommet de H (choix non déterministe sur les contraintes à intersecter) qui sort de V (test par programmation linéaire sur les coordonnées barycentriques).

Apparemment, la complexité de ce problème est inconnue ! Pas d’algorithme polynomial connu, pas de preuve de complétude…

PS L'algorithme suivant (pour polyèdres bornés) ne fonctionne pas :

  1. On minimise les représentations sommets et contraintes (un appel de programmation linéaire pour chaque sommet ou contrainte par rapport aux autres, soit temps polynomial).
  2. On vérifie l'inclusion des sommets dans les contraintes (produit de matrices).
  3. On vérifie que chaque contrainte sature au moins d sommets et chaque sommet au moins d contraintes et qu'aucune contrainte (resp. sommet) ne sature un sur-ensemble des sommets (resp. contraintes) saturés par une autre contrainte (resp. sommet).
En effet, la condition 3. est validée par un cube dont on a ôté un des sommets de la liste des générateurs.

mercredi, mai 17 2017

Sur la rédaction des articles scientifiques, 2

Comme l’a fait remarquer un lecteur, mon précédent billet sur le sujet aurait pu se résumer à : « il faut tout mettre en œuvre pour que l’article soit compréhensible, et en tout cas éviter les obstacles à la compréhension ». Venons-en à des désirs plus généraux.

J’aime, lorsque je lis un article, savoir où l’on va et pourquoi l’on introduit telle ou telle définition.

J’aime que l’on situe les résultats et qu’on en explique la signification, notamment si l’on est dans un champ avec un grand nombre de résultats voisins mais avec des différences subtiles — sachant que parfois certaines différences sont superficielles mais sans importance réelle, et d’autres changent la nature du problème.

J’aime savoir pourquoi on a étudié une question. C’est parfois difficile à expliquer, et les explications bateau du genre « avec l’essor du Big Data dans le Cloud il est important d’étudier le parallélisme, pour lequel les automates de Bzyknowicz à poil dur forment un cadre élégant » ne sont souvent que de peu d’intérêt. Je suis conscient qu’un champ d’étude finit par avoir une vie propre indépendante du problème qui lui a donné naissance.


Deux conseils de rédaction aux doctorants

Divers sites donnent des conseils de rédaction aux doctorants. Pour ma part, j’estime qu’il y a une grande diversité de méthodes de travail valables, qui plus est dans une grande diversité de disciplines, et qu’il est donc périlleux de proposer des conseils généraux. Je me limiterais donc à deux conseils.

Prendre des notes

On oublie tout : idées, références, citations, schémas d’expériences, conditions de mesure, mode d’emploi de logiciels. Donc il faut tout noter pour pouvoir tout retrouver. Je sais que ça a l’air évident mais on se fait toujours avoir.

Utiliser un correcteur orthographique voire grammatical

Tout le monde finit par faire des fautes d’orthographe ou de grammaire, certains plus que d’autres. J’entends parfois des gens expliquer qu’il s’agit de négligences coupables, qu’il suffit de s’appliquer, que cela aurait dû être acquis à l’école primaire, qu’on peut suivre des cours de rattrapage — cela n’est pas mon propos. Je constate cependant qu’un texte émaillé de fautes fait mauvais effet.

Je pense que c’est un peu tard pour aborder ce genre de problèmes et que pendant les trois ans d’un doctorat on n’a pas le temps de les pallier. J’estime qu’en revanche ne pas utiliser les correcteurs orthographiques, voire grammaticaux, livrés dans tous les traitements et éditeurs de textes, relève de la négligence.

(Si votre logiciel ne fournit pas de correcteur grammatical, vous pouvez essayer LanguageTool.)

mardi, mai 16 2017

Mystère et boule de gomme

Je voudrais aujourd’hui illustrer un peu le fonctionnement de la recherche au quotidien.

Notre équipe travaille entre autres sur l’algorithmique des polyèdres convexes. Si vous ne savez pas ce qu’est un polyèdre convexe, peu importe : il suffit de savoir que ce sont des objets mathématiques sur lesquels nous voulons calculer, et que donc nous devons proposer des méthodes de calcul, autrement dit des algorithmes, efficaces, c’est-à-dire calculant le résultat attendu en n’utilisant qu’une quantité réduite de temps et de mémoire.

Un collègue pense avoir l’idée d’une méthode pour vérifier (je ne rentre pas dans les détails) que deux représentations décrivent en fait le même polyèdre. Nous connaissons des méthodes pour cela, mais elles peuvent être inefficaces.

Après recherche dans une FAQ et la bibliographie, il s’avère que dans la première moitié des années 1990 un éminent chercheur a posé la question de l’existence d’une telle méthode efficace. On peut raisonnablement se dire que s’il existait une méthode efficace et assez simple, il l’aurait trouvée.

Toutefois :

  1. Si on commence par partir perdant en se disant que tout ce à quoi l’on peut songer a dû être fait avant par des gens plus forts, on ne fait plus de recherche.

  2. Ce n’est pas parce qu’en 1994 on ne savait pas quelque chose qu’il en est de même en 2017.

  3. Il se peut que la méthode du collègue soit inefficace dans le pire cas, mais que ce pire cas ne se produit que dans des circonstances particulières.

  4. Il se peut que la partie complexe puisse être gérée par des procédures connues souvent efficaces en pratique.

  5. Rien que comprendre dans quels cas l’idée du collègue pourrait être inefficace nous apprendrait des choses.

Affaire à creuser, donc.

(J’ai par ailleurs envoyé des courriels à l’éminent chercheur et à quelques autres auteurs d’articles anciens sur le sujet pour savoir s’ils ont entendu parler de résultats plus récents...)

mercredi, mai 10 2017

Sur la rédaction des articles scientifiques

En tant que chercheur, je rédige des articles scientifiques, et j’en lis beaucoup — y compris pour les évaluer, lorsque je suis membre d’un comité éditorial ou qu’un comité me sollicite comme expert extérieur. Je vais ici tenter de résumer les caractéristiques que j’apprécie dans les articles que je lis (et que je m’efforce de respecter pour mes propres articles, bien que je n’y arrive pas forcément) et celles qui me rebutent (et que je m’efforce d’éviter pour mes propres articles, et là encore je n’y arrive pas forcément).

Il s’agit bien entendu d’une vision assez subjective, non seulement relative à mes goûts personnels, mais aussi à mon champ de recherche, et je ne prétends donc nullement édicter des règles générales. Peut-être cependant certaines des remarques ci-dessous peuvent s’appliquer dans d’autres contextes.

Les définitions

Chaque terme, chaque notation, nouveau ou qui risque de prêter à confusion doit être introduit, fût-ce brièvement, avant son usage. Il vaut mieux pécher par excès de précisions que par manque.

Bien entendu, on ne va pas redéfinir l’ensemble des termes censément connus du lectorat de l’article : par exemple, je peux supposer que le lecteur sait ce qu’est un espace vectoriel de dimension finie. Il faut toutefois ici se méfier des concepts, notations, terminologies que l’on pense « bien connues » alors qu’elles ne le sont que dans un certain sous-domaine scientifique, une certaine école de pensée, un certain pays…

Je préfère que l’on évite, dans la mesure du possible, les notations équivoques ou personnelles, et, s’il y a pluralité d’interprétations raisonnables, préciser laquelle est en jeu. Par exemple, j’ai lu un article qui utilisait, sans l’introduire, la notation vu et v sont deux vecteurs de réels ; or < désigne souvent l’ordre strict associé à une relation d’ordre large notée ≤, qui ici était l’ordre produit coordonnée par coordonnée (bref, v si sur toute coordonnée i, ui ≤ vi et il existe une coordonnée j telle que uj < vj). Or, l’article entendait par v que sur toute coordonnée i, ui < vi. J’ai dû pour le comprendre lire le détail des preuves, alors que normalement on doit pouvoir comprendre l’énoncé des théorèmes sans consulter les preuves.

Lorsqu’un nouveau terme est introduit, j’aime que cela soit fait explicitement, ou du moins que la tournure de phrase ou la typographie (par exemple, l’italique) me l’indiquent. Sans cela, je suppose, par défaut, que j’ai lu trop hâtivement les pages précédentes et je reviens en arrière à la recherche de la définition du terme ; ce qui, bien évidemment, n’est d’aucun intérêt si celle-ci est dans le paragraphe suivant !

Il est possible que l’on touche ici aux limites du document textuel traditionnel, séquentiel, destiné, au moins formellement, à être lu dans l’ordre du début à la fin. J’apprécie, toutefois, que lorsqu’un document fait usage d’une définition lointaine, il renvoie à celle-ci par un lien hypertexte — ceci est d’ailleurs facile sous LaTeX en utilisant hyperref.

Les résultats

J’apprécie que les principaux résultats d’un article soient mis en exergue, et, dans la mesure du possible, soient exprimés dans un langage limitant les prérequis de lecture (définitions, notations) afin de faciliter leur utilisation dans d’autres travaux.

Prenons un exemple concret (je m’excuse d’avance auprès de mes lecteurs qui ignoreraient ce résultat) : le Nullstellensatz peut s’exprimer en termes de variétés algébriques, d’idéaux, d’idéaux radicaux (ce qui suppose que le lecteur connaisse les définitions de ces termes ou du moins aille consulter), ou en termes plus concrets de sommes et de produits de polynômes à plusieurs variables.

Plus proche de moi, les résultats d’analyse statique par interprétation abstraite peuvent s’exprimer en termes d’invariants inductifs (concept que toute personne du domaine est censé connaître) ou avec des notations spécifiques à une certaine école scientifique (α, γ, ♯…).

Les références bibliographiques

Certaines références bibliographiques sont là pour donner au lecteur un cadre général, des possibilités d’approfondissement… il est alors adapté de citer une publication entière. En revanche, lorsqu’il s’agit d’appuyer un fait précis, j’aime que la citation soit elle aussi précise, donnant non seulement la publication concernée mais aussi le numéro de la définition, du théorème, ou de la page où se reporter. C’est d’autant plus important que la rédaction est elliptique : je me rappelle ainsi avoir lu des articles qui utilisaient un théorème sans citer l’énoncé de celui-ci et en donnant comme seule référence « (Lang, Algebra) » (un ouvrage de 914 pages).

Dans les bibliographies, j’apprécie les hyperliens vers des versions des articles ou autres documents dans des dépôts d’archives ouvertes (HAL, arXiv…). Les liens DOI sont en général moins utiles, car ils conduisent vers les sites payants des éditeurs. Mon expérience (là encore spécifique à un domaine, à certains laboratoires) en tant que correspondant documentation est qu’une grande partie des chercheurs, même si leur laboratoire est abonné, ne savent pas accéder aux articles sur ces sites, dont on peut parfois déplorer la complexité d’utilisation (devoir passer par des proxies, VPN, etc.). Pour des livres, on peut envisager un lien vers WorldCat.

En revanche, certaines indications traditionnelles des bibliographies ne me sont guère de secours. Ainsi, que m’apporte le fait de savoir qu’un livre édité par Springer, un grand groupe international, l’est officiellement à New-York, Heidelberg, ou Berlin ? Une telle indication se justifie pour des petits éditeurs régionaux, mais sinon ?

L’écriture allusive

Voici un travers dans lequel j’ai peur de tomber fréquemment. Lorsque l’on parle de son propre travail, on en vient parfois à parler pour soi-même, ou du moins pour un lecteur qui aurait fait le même chemin intellectuel. Cela donne parfois des travaux dont le lecteur, après avoir lui-même beaucoup réfléchi après avoir échoué à comprendre l’article, finit par dire « ah, c’est cela qu’ils voulaient dire ! ». Certaines remarques sont alors parfois d’un intérêt nul : incompréhensibles pour qui ne connaît pas le sujet, elles sont évidentes pour qui le connaît…

Une bonne méthode pour éviter ce travers me semble être de donner l’article à relire à quelqu’un de suffisamment proche du sujet pour représenter le lectorat potentiellement intéressé, mais suffisamment « naïf » pour ne pas trouver évident le cheminement.

Les résultats expérimentaux

Souvent, les courbes, diagrammes, tableaux de chiffres fournis en fin d’article pour justifier qu’une méthode fonctionne « en vrai » me semblent peu clairs. Parfois je ne comprends même pas ce qui est mesuré, à quoi correspondent tels ou tels symboles, ce qui est en abscisse et en ordonnée… (j’ai par exemple été longtemps rendu perplexe par les « cactus plots »). J’aime voir des légendes précises et explicites.

Choisir

Toute rédaction suppose un choix : telle remarque est-elle utile, bien à sa place ? Le message que nous désirons transmettre n’est-il pas brouillé ? Telle image, telle analogie qui nous a paru adroite ne l’est peut-être pas ; et même si elle l’est, elle n’est peut être pas adaptée à l’ordre d’exposition.

L’ordre d’exposition relève lui-même d’un choix quelque peu arbitraire. Sur le même article, un premier relecteur nous demanda comme une évidence d’intervertir deux sections, et, une fois que cela fut fait, un autre nous demanda de les intervertir à nouveau. Les deux ordres se justifient, mais il faut bien en choisir un.

Dans des textes écrits en collaboration, la difficulté est parfois justement de choisir, car chacun tient à sa remarque, son angle. Le résultat peut alors être confus. C’est à mon avis une des grandes difficultés de Wikipédia, notamment sur les articles traitant de sujets vastes.

En résumé

D’une façon générale, je pense qu’un article doit être écrit d’une façon qui facilite la compréhension du lecteur, quitte à exiger plus de travail des auteurs. (D’un point de vue éthique, cela peut se justifier en arguant que les lecteurs sont plus nombreux que les auteurs.) Il ne s’agit pas de considérer que le lecteur est stupide ou fainéant, mais de prendre acte qu’il n’a pas forcément les mêmes connaissances, les mêmes notations, la même façon de présenter que les auteurs, et que son temps disponible n’est pas infini.

Même si on ne fait pas ce travail pour le lecteur final, il faut aussi prendre acte qu’avant de toucher celui-ci, on doit passer le barrage de l’évaluation par les pairs, et que les évaluateurs, eux non plus, n’ont pas un temps infini et ne sont pas forcément de la même école scientifique.

Quelqu’un m’a un jour affirmé que je devrais publier en français plutôt qu’en anglais, vu que, si mes travaux étaient réellement intéressants, les gens apprendraient le français pour les lire. Je ne souscris pas à ce point de vue : pour être lu, il faut être lisible.

dimanche, mars 26 2017

Les propos trompeurs d'Hervé Mariton sur les rémunérations des professeurs des universités

Dans l'émission On n'est pas couché du 25 mars 2017, le député Hervé Mariton a expliqué, afin de minimiser les turpitudes de certains parlementaires, que ceux-ci sont moins bien payés que les professeurs des universités, et que la plupart de ces derniers ont des activités complémentaires rémunérées. Rappelons quelques faits.

Un député (hors cas spéciaux : président, vice-présidents, questeurs, mieux rémunérés) gagne environ 7200€ bruts mensuels. Le traitement brut mensuel d'un professeur des universités varie, suivant le grade et l'ancienneté, 3200€ et 6200€, auquel on ajoute environ 1000€ annuel de prime d'enseignement et recherche. Encore faut-il signaler que ce traitement à 6200€ est en toute fin de carrière pour les professeurs de classe exceptionnelle, grade qui, comme son nom l'indique, est exceptionnel.

Peuvent, dans certain cas, s'ajouter à cela une prime d'encadrement doctoral et de recherche (3500€ ou 7000€ par an, 15000€ pour les titulaires de prix Nobel et d'autres hautes distinctions scientifiques) ou d'autres primes, par exemple pour la gestion d'un projet du Conseil européen de la recherche (ERC), ces projets étant attribués au terme d'un processus très compétitif. Peuvent également s'ajouter des heures complémentaires d'enseignement, ou encore des intéressements lorsque l'activité du chercheur a produit des brevets ou licences de logiciels commercialisées.

Bref, pour qu'un professeur des universités atteigne la paye d'un parlementaire de base, sans cumul avec d'autres activités, il faut une configuration rare : un professeur de classe exceptionnelle qui cumule avec des primes difficiles à obtenir (par exemple, Cédric Villani, médaillé Fields, doit effectivement toucher plus de 7000€ par mois). On comprend donc en quoi les affirmations de M. Mariton sont trompeuses, puisqu'elles présentent un cas exceptionnellement favorable comme représentatif de la profession.

Ajoutons que les professeurs des universités sont une minorité parmi les enseignants à l'université. Parmi les personnels permanents, ils ne représentaient en 2010 que 27 % environ, alors qu'il y avait 53 % de maîtres de conférence et 20 % d'enseignants du second degré, ces deux dernières catégories étant moins bien payées. Une grande partie des enseignements sont par ailleurs assurés par des enseignants temporaires, notamment des vacataires, parfois précaires, et en tout cas encore moins bien payés.

M. Mariton prétend également que la plupart des professeurs des universités ont des activités complémentaires. J'ignore si c'est le cas, mais il faut ici rappeler qu'au sens du droit de la fonction publique, il suffit d'une seule heure de travail rémunéré en dehors de l'emploi principal pour qu'on parle d'« activité complémentaire » nécessitant l'autorisation de l'employeur ; donc un professeur d'université qui donne une fois l'an une conférence rémunérée dans une grande école et quelques heures de cours dans une autre, le tout pour quelques centaines d'euros, sera considéré comme ayant deux activités complémentaires. Ceci est bien évidemment sans rapport avec les montants dont on discute en matière de rémunérations des parlementaires.

Pour des rémunérations complémentaires en dizaines de milliers d'euros annuels, je vois surtout les activités de consultant (je ne connais personne dans ce cas) et l'exercice libéral (avocats..) des professeurs des universités en droit et matières proches. Là encore, on ne peut décrire comme un fait majoritaire ce qui ne relève que d'une minorité.

On pourrait mettre sur le compte de l'ignorance pareilles affirmations. M. Mariton, en effet, est membre d'un parti dont les soutiens les plus vulgaires considèrent que les fonctionnaires sont des privilégiés surpayés, il ne ferait que reprendre, sous une forme certes plus polie (il est polytechnicien), le même genre de slogans. Or, son épouse est elle-même chercheuse et à ce titre sait sans doute fort bien à quoi s'en tenir concernant la rémunération des professeurs des universités. Je suis donc bien forcé de considérer la possibilité qu'il ait sciemment menti à des fins démagogiques.

PS Mon propos n'est évidemment pas que les professeurs des universités sont particulièrement à plaindre au regard du reste de la population française, mais seulement de redresser des affirmations trompeuses sur un sujet que je connais. Il me semble très probable que les allégations de fraudes aux aides sociales soient du même acabit — l'assimilation d'un cas minoritaire à la majorité ; mais je ne connais pas le sujet.

PS² On m'évoque les hospitalo-universitaires. C'est un sujet que je connais mal (il me semble qu'ils cumulent une rémunération d'enseignant-chercheur, une de pratique hospitalière, et d'éventuels exercices libéraux, mais je peux me tromper), mais qui ne concerne de toute façon qu'une minorité des professeurs des universités.

- page 1 de 94