Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Mozilla veut déboguer le code des scientifiques
Un contrôle strict du code source aurait évité plusieurs conclusions inexactes des chercheurs

Le , par Cedric Chevalier

0PARTAGES

9  0 
De la biologie à l’écologie, de nombreuses disciplines scientifiques ont recours aux techniques et méthodes employées en informatique.

Les logiciels scientifiques jouent un très grand rôle dans les travaux de nombreux chercheurs. Cependant, des questions se posent : les logiciels scientifiques sont-ils robustes ? Quel degré de confiance peut-ont leur accorder ?

Ces questions peuvent certes surprendre. En 2006, Geoffrey Chang de l’institut de recherche Scripps avait dû révoquer cinq articles scientifiques écrits dans le cadre des recherches sur les structures cristallines, principalement parce que le code source du logiciel scientifique qui avait aidé dans le processus d’obtention des résultats contenait des erreurs. Ça pousse à la réflexion.

Certains scientifiques avaient noté, par exemple, que les résultats inexacts utilisés comme base pour les essais cliniques en 2007 pour le cancer auraient été découverts plus tôt si le chercheur Anil Potti de l’université de Duke en Caroline du Nord avait été contraint de publier ses données informatiques et code source.

Carl Boettiger, un expert en écologie, a d’ailleurs soulevé ce problème. Pour lui, les codes sources des logiciels scientifiques utilisés dans le cadre des travaux de recherche devraient subir des tests très stricts. D'autant que ceux-ci sont écrits par des personnes dont la programmation n’est pas le métier.

La question n’a pas manqué de créer une certaine polémique dans le milieu scientifique, certains s’opposant à la publication du code source utilisé pour les tests par les scientifiques.

Dans le but de répondre à ce besoin criant qui est ressenti dans la communauté scientifique, Mozilla Science Lab est entré dans la danse en mettant en place une cellule de vérification de code source pour les logiciels utilisés dans le domaine des sciences.

Pour sa première mission, 9 articles, tous dans le domaine de la Bio informatique, lui ont été confiés. Pour la réalisation de sa tâche, la cellule n’a pas réinventé la roue. Elle s’est uniquement servie des standards de vérification de code source utilisés couramment pour les produits commerciaux.

Theo Bloom, rédacteur en chef pour la section Biologie du journal PLoS (Public Library of Science) a apprécié l’initiative de la Mozilla science Lab. Pour lui, elle est importante, même si les examinateurs de Mozilla manquent d’expertise biologique.

Pour Roger Peng, biostatisticien à l’école de santé publique Hopkins Bloomberg à Baltimore, par contre, cette révision de code pourrait constituer un frein à la diffusion du logiciel scientifique. « L’une de mes préoccupations est que ce processus de revue de code frustrerait certains scientifiques au point de décourager certains à rendre public leur code », note celui-ci.

Source : Nature

Et vous ?

Que pensez-vous de cette initiative ? Le code source utilisé par les scientifiques doit-il passer par un contrôle strict ?

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de zaventem
Membre chevronné https://www.developpez.com
Le 27/09/2013 à 12:30
Citation Envoyé par Orwel Voir le message
dans mon ancienne école, on fessait souvent des logiciels
Il est pourtant prouvé que la violence ne sert à rien

OK ---->[]
4  0 
Avatar de r0d
Expert éminent https://www.developpez.com
Le 26/09/2013 à 18:04
Ce n'est pas pour rien que les méthodes de développement intègrent diverses procédures de tests et de vérification du code. Ce n'est pas pour rien que les entreprises qui en ont les moyens mettent en place des équipes/département de test/vérification.
Tous les logiciels doivent être testés et vérifiés, pas uniquement ceux des scientifiques.
2  0 
Avatar de Uranne-jimmy
Membre expérimenté https://www.developpez.com
Le 26/09/2013 à 16:49
Les codes sources passés sous contrôle : OUI, mais pas rendu public.

L'idée la plus intéressante à mon avis serait de faire un contrôle du code qui se verra recevoir un certificat comme quoi il est propre à donner des résultats justes.
Mais l'idée de dévoiler le code source d'un programme c'est une bêtise, on protège nos programmes dans nos labo, on les code, on les utilise, on les garde. Avoir ses propres programmes est un investissement que très peu serait près à céder, même pour prouver la véracité de résultats.
2  1 
Avatar de vampirella
Membre éclairé https://www.developpez.com
Le 26/09/2013 à 17:56
Citation Envoyé par Sirus64 Voir le message
Le code source ne sert à rien car les méthodes sont décrites dans les articles scientifiques. Les données oui afin de pouvoir vérifier les résultats.
Les deux sont nécessaires, mon capitaine. Si d'un point de vue théorique, toute implémentation se vaut, d'une point de vue pratique, il faut compter sur les faiblesses / forces de chaque langage. L'un des points noirs souvent ignorés concernent la précision et les librairies utilisées.

Citation Envoyé par mith06
Je trouve que c'est vraiment très hautain de la part de Mozilla. En quoi se trouvent-ils meilleurs que les autres. Comme si les logiciels qu'ils produisent ne plantaient jamais....
Tout bon développeur connait l'allégorie de "la tête dans le guidon du vélo" : il est souvent plus facile pour un observateur extérieur de repérer des choses que pour une personne en plein dans le projet.
Par contre, là où effectivement Mozilla ne pourra pas forcément aider, c'est l’évaluation de la pertinence du code / de l'algorithme. Cela dépend uniquement du contexte, en l'occurrence scientifique.

Edit : Pour donner mon point de vue et une comparaison, les articles de biologie décrivent bien le protocole utilisé (type de culture, nutriments, étapes, ...) pour que cela soit reproduit et validé indépendamment par d'autres scientifiques dans le monde. Pourquoi le code source ayant servi dans ce protocole serait mis à l'écart ?
2  1 
Avatar de triaguae
Membre averti https://www.developpez.com
Le 26/09/2013 à 20:53
Citation Envoyé par r0d Voir le message

Tous les logiciels doivent être testés et vérifiés, pas uniquement ceux des scientifiques.
Dans certains domaines d'activités (labo d'étalonnages et d'essais, et certainement d'autres domaines) c'est une exigence normative (ISO 17025) , mais c'est l'entreprise elle même qui doit menée sa validation et apporter la preuve que son logiciel (que ce soit une feuille de calcul ou un logiciel ) est bien apte à l'emploi prévu!

donc bonne intention de mozilla mais avec des limites....
1  0 
Avatar de Uranne-jimmy
Membre expérimenté https://www.developpez.com
Le 27/09/2013 à 9:13
Le scientifique bosse pour faire avancer la science et publier ses découverte, mais il ne voudrait pas publier son code source ?

C'est comme le maçon qui fabrique des maisons gratuitement mais qui refuse de prêter ses outils. Quel intérêt le scientifique a à garder secret les sources de ses applications ?
Parce que c'est des outils, justement. Est ce qu'un fabricant d'autoclave ou de lecteur de microplaque va rendre public l'intégralité des plans et des ressources logiciels créé pour aider la science ? Les méthodes qui sont créé sont relaté pour assurer la possibilité à la communauté scientifique de répéter / vérifier la véracité de certaines résultat.
En logiciel, l'intérêt sera surtout dans le traitement des données, et le fait d'avoir un logiciel permet un gain de temps, de justesse, souvent, et n'est pas fondamentalement nécessaire pour les résultats.
En fait donner un logiciel ne fera pas avancer la science mais la qualité de vie des scientifiques, et c'est donc plus optionnel. Sinon pourquoi on embaucherait des gens comme moi chargé de monter des applications si c'est pour les rendre public derrière ?
2  1 
Avatar de pvincent
Membre confirmé https://www.developpez.com
Le 28/09/2013 à 15:43
L'expression "le code des scientifiques" me semble bien vague.

Pour la résolution d'un système linéaire par exemple, le code peut être le reflet exact de l'algorithme utilisé (e.g. LU) mais le résultat sans valeur si le système est mal conditionné http://fr.wikipedia.org/wiki/Conditionnement_%28analyse_num%C3%A9rique%29

Pour ce que je connais le mieux (l'électromagnétisme) les problèmes de choix de la méthode numérique (équation intégrale, équation intégrale de frontières, résolvante, éléments finis, ...) de choix de la base, de convergence, de pertinence de la troncature des séries, de problèmes mal posés (au sens d'Hadamard), etc sont plus délicats que les simples erreurs de codage et je me demande bien ce que Mozilla peut y faire.

Si la publication du code peut être un moyen très efficace de se faire connaître et apprécier, la méthode n'a pas que des points positifs.

Pour publier son code, il faut d'abord que celui-ci soit correctement documenté, ce qui est rarement le cas, et je ne parle même pas du code écrit par un thésard qui est à la bourre pour terminer sa thèse et, très souvent, va quitter le laboratoire pour un post-doc à l'étranger..
De plus, le code doit être suffisamment robuste pour être utilisé par des utilisateurs qui n'en connaissent pas les finesses, en particuliers les limitations dues aux phénomènes cités plus haut: il y a un risque certain à ce qu'une tentative d'utilisation d'un code en dehors de sont domaine de validité ruine la réputation de son auteur, alors qu'il est souvent très difficile et fort long de délimiter ce domaine. Pour éviter cela, il faut être prêt à aider l'utilisateur qui peut aussi faire partie d'une équipe concurrente et l'expérience montre que les université américaines ont souvent des moyens sans commune mesure avec les nôtres, ce qui peut avoir comme résultat qu'ils vont l'exploiter bien plus efficacement que son auteur, jugé sur ses publications et non sur l'aide fournie à d'autres équipes.
Le code publié peut aussi servir comme référence pour mettre au point celui d'une autre équipe qui va volontiers <<oublier>> de parler de ce détail qui en fait, peut avoir un rôle crucial.

Bref, contrairement à ce que certains peuvent penser, sans même entrer dans des considérations mercantiles, il n'est pas si facile de choisir de publier un code représentant une avancée réelle ou de chercher à l'exploiter soit même.

Quand aux erreurs qui induisent des travaux inutiles, il n'y a pas que les erreurs de codage qui provoquent les mêmes effets: les éditeurs se contentent maintenant de mettre en ligne le fichier fourni par l'auteur après avoir demandé l'avis de "rewievers" non rémunérés. L'inflation du nombre de revues scientifiques (papier ou purement internet) et du nombre d'articles fait que le travail de filtrage est souvent bâclé.
1  0 
Avatar de Matthieu Vergne
Expert éminent https://www.developpez.com
Le 07/10/2013 à 17:38
Citation Envoyé par Cedric Chevalier Voir le message
Que pensez-vous de cette initiative ? Le code source utilisé par les scientifiques doit-il passer par un contrôle strict ?
Étant moi-même dans la recherche, où l'objectif principal est, en théorie, d'améliorer les connaissances humaines (augmenter comme corriger), il est évident que ce processus est indispensable : le principe de la publication scientifique est de soumettre à nos pairs nos travaux, de façons à ce qu'ils soient revus et critiqués le cas échéant, pour pouvoir l'améliorer si besoin, aller plus loin sinon. La méthode utilisée est d'ailleurs un critère de jugement de l'article. Dans le cadre de travaux s'appuyant sur des données calculées via des programmes, le programme utilisé est évidemment partie intégrante de cette méthode, et il convient donc de le revoir aussi.

Je reviens sur ma première phrase, où je précise que c'est en théorie. En pratique, nombre de travaux sont faits au sein d'entreprises qui souhaitent garder leurs secrets professionnels. Autant c'est compréhensible d'un point de vue compétitivité, autant ça me semble tout bonnement dénué de sens pour la recherche. De mon point de vue, la recherche n'a pas vocation à faire jouer la compétition, mais la collaboration (sinon on ne publierai pas, on vendrait, mais ça c'est le boulot des entreprises, pas des chercheurs). Du coup, on en arrive à des publications partielles de travaux qu'on est incapable de reproduire (la reproductivité de l'expérience étant une propriété fondamentale pour accepter un résultat comme scientifiquement prouvé).

D'un autre côté, on a ceux qui cherchent à publier pour se faire un nom ou faire croire à de faux résultats, mais se gardent bien de donner les détails pour éviter qu'on découvre le pot aux roses, voire financent -et s'assurent de ne pas le faire sans raison- pour permettre aux sympathisants d'écrire de tels papiers (visez l'industrie du tabac, pour ceux qui veulent comprendre de quoi je parle). Et c'est pas si difficile que ça, dans le sens où quand on lit un papier, on se sent rarement l'envie de refaire l'expérience alors qu'on a d'autres trucs à faire. Du coup, si c'est bien écrit, on a vite fait de se dire que ça semble cohérent et d'accepter le papier. Je ne cherche pas à dénigrer le système de revu de certains éditeurs ou conférenciers, mais il ne faut pas oublier que ce sont avant tout des humains qui font ce contrôle. Et en science comme ailleurs, les erreurs, la fainéantise et la corruption ça existe.

Citation Envoyé par Cedric Chevalier Voir le message
Pour Roger Peng, biostatisticien à l’école de santé publique Hopkins Bloomberg à Baltimore, par contre, cette révision de code pourrait constituer un frein à la diffusion du logiciel scientifique. « L’une de mes préoccupations est que ce processus de revue de code frustrerait certains scientifiques au point de décourager certains à rendre public leur code », note celui-ci.
Est-ce qu'on se sent frustré de chercher à publier un article qui doit être revu avant d'être peut-être rejeté ? Si on est chercheur, ce genre de choses on en a l'habitude, ça fait partie intégrante du processus de recherche. Pour moi c'est une excuse qui cache autre chose que le seul intérêt de la science.

Citation Envoyé par Sirus64 Voir le message
Que pensez-vous de cette initiative ? Le code source utilisé par les scientifiques doit-il passer par un contrôle strict ?
Le code source non, mais les données dénominalisées oui !
Le code source ne sert à rien car les méthodes sont décrites dans les articles scientifiques. Les données oui afin de pouvoir vérifier les résultats.
Le code source doit correspondre à ce que tu publies. Je suis dans la recherche en informatique, et quand tu vois le programme de certains, tu te dis qu'ils peuvent être de très bon chercheurs, mais le code est impossible à vérifier. Et tu te demandes bien comment on peut assurer des résultats avec des torchons pareil. Tu n'arrives même pas à retrouver les formules du papier dans le code, c'est complètement explosé, avec des pseudo-corrections imbuvables de partout, des copier-coller qui font que tu te demandes qu'est-ce qui sert à quoi au final, etc.

Être scientifique, même en informatique, ne veut hélas pas dire être un programmeur aguerri. Aujourd'hui on a des langages de haut niveau qui permettent d'utiliser un niveau d'abstraction équivalent à ce qu'on publie, mais encore faut-il avoir le savoir dans ce domaine + le savoir faire.
1  0 
Avatar de souviron34
Expert éminent sénior https://www.developpez.com
Le 12/01/2014 à 17:56
Je me permet une petite digression, mais pas vraiment :

En général, le code des scientifiques est établi pour prouver ou infirmer des théories, des éléments de réflexion plus ou moins théoriques.

Ces éléments ont amené à des conclusions, dont on pense qu'on peut les vérifier. D'autre pat, le scientifique ne travaille pas seul, mais il y a un historique de résultats.

Tout ceci pour dire que, à quelques exceptions près - il y en a toujours, même dans les théories - les codes sont testés par la pratique exhaustve de tests de données.... sur des quantités de données, certaines dont on sait qu'elles ne rentrent pas dans le cadre, certaines dont on sait qu'elles rentrent, d'autres dont on ne sait pas, mais toujours avec une base commune de comparaison avec les précédents papiers d'autres auteurs...

Je met ma main à couper que 99% des codes scientifiques sont totalement corrects, bien plus que 99% des codes des informaticiens....

(on n'a jamais vu à grande échelle scientifique des erreurs comme le logiciel de paie de la gendrarmeir, et la plupart des grandes erreurs informatiques)..

Je dirais en réponse au projet "Messieurs les informaticiens, balayez devant votre porte"...
1  0 
Avatar de niarkyzator
Membre confirmé https://www.developpez.com
Le 26/09/2013 à 17:22
Quelque chose m'échappe Jimmy...

Le scientifique bosse pour faire avancer la science et publier ses découverte, mais il ne voudrait pas publier son code source ?

C'est comme le maçon qui fabrique des maisons gratuitement mais qui refuse de prêter ses outils. Quel intérêt le scientifique a à garder secret les sources de ses applications ?

(C'est une vrai question hein pas un troll)
3  3