Le laboratoire Microsoft-Inria dévoile sept projets orientés informatique scientifique et sécurité
En 2007, Microsoft et l'Inria créent un laboratoire commun. Les deux acteurs présentent aujourd'hui les premiers résultats dans deux domaines distincts : la sécurité et les outils informatiques destinés aux scientifiques.
Deux ans après l'inauguration du laboratoire commun entre l'Inria et Microsoft, c'est un Bernard Ourghanlian (directeur technique et sécurité de Microsoft France) « content, et même plutôt impressionné » par les résultats obtenus, qui présente les projets menés conjointement par les chercheurs des deux entités. Toute une journée a été consacrée à l'événement hier, 28 janvier, à l'Ecole polytechnique. Dans la salle, « 200 personnes, essentiellement des chercheurs, venus du monde entier », précise Bernard Ourghanlian. Un rapport scientifique décrivant l'activité du centre de recherches commun sera présenté courant février. En attendant, cette journée a été l'occasion d'aborder les 7 projets sur lesquels travaillent les chercheurs depuis janvier 2007 (et parfois avant, certains liens ayant été établis longtemps auparavant). Les travaux sont répartis en deux thèmes: « la sécurité et la fiabilité du logiciel d'une part, les interactions entre l'informatique et les autres sciences d'autre part ». Dans tous les cas, précise Bernard Ourghanlian, « ce sont les ingénieurs de recherche qui choisissent les sujets sur lesquels ils vont travailler ». Dans le premier thème, il s'agit d'appliquer les mathématiques pour améliorer la sécurité et la fiabilité des logiciels. Trois projets sont regroupés sous cette ombrelle. Parmi eux, le recours à des programmes informatiques pour prouver des théorèmes mathématiques. La démonstration du théorème sur lequel travaille l'équipe d'une dizaine de chercheurs « tient sur 400 articles et 10 000 pages », explique Bernard Ourghanlian. Et encore, dit-il, « il n'est prouvé que parce qu'il a été lu par des pairs mathématiciens, qui l'ont déclaré correct avec une certitude de 99% ». Le projet vise à créer une bibliothèque de preuves élémentaires qu'un logiciel pourra utiliser pour obtenir une preuve parfaite. « Et inversement, on pourra utiliser les mathématiques pour prouver qu'un logiciel est correct. » A l'heure actuelle, seuls les projets informatiques où la sécurité des personnes est en jeu (gestion du trafic du métro, informatique embarquée dans les avions ou les voitures, gestion opérationnelle des centrales nucléaires, etc.) se permettent de prendre le temps de recourir à des méthodes formelles pour s'assurer de la fiabilité des logiciels. Apporter des preuves formelles de sécurité dans un environnement distribué Toujours dans le thème de « l'informatique de confiance » cher à Microsoft (qui s'échine ainsi à faire oublier ses failles de sécurité et autres bugs à répétition), le deuxième projet a pour but, dans une architecture distribuée, d'apporter des preuves formelles de sécurité. Qui permettront par exemple de prouver qu'une machine n'est pas sûre, ou au contraire qu'un protocole de sécurité est bien respecté. « Quand je suis connecté au site de ma banque, prend comme exemple Bernard Ourghanlian, je veux être certain que c'est bien le site de ma banque. Et réciproquement, ma banque veut être sûr que c'est bien moi. Ce n'est pas toujours simple. » Dans le troisième projet tombant dans cette catégorie, il s'agit de recourir à une méthode (TLA, Temporal logic of actions) et à un langage (TLA+) pour s'assurer que ce qui est obtenu à partir d'un modèle est bien ce qui était voulu au départ. L'idée, expliquent les auteurs du projet, est de pouvoir « attraper les bugs dans un algorithme ou la modélisation d'un système avant même qu'il ne soit implémenté ». Un dictionnaire mathématique en ligne et des interfaces homme/machine pour les scientifiques Le deuxième thème de recherches, dont l'ambition est de mettre l'informatique au service des scientifiques, comporte quatre projets. Le premier vise à créer une sorte de dictionnaire dynamique de fonctions mathématiques, « de façon, explique Bernard Ourghanlian, à ce que les physiciens disposent d'une fonction de génération automatique de fonctions mathématiques, au travers d'une interface Web, avec la possibilité de modifier les paramètres et les variables d'une manière graphique ». Un premier prototype est d'ailleurs opérationnel. Un autre projet, nommé Reactivity, s'intéresse aux interfaces homme/machine, et plus précisément à la manière dont un scientifique peut utiliser un outil informatique pour prendre ses notes et stocker ses informations, de façon à pouvoir ensuite les réorganiser et fouiller dedans. Les buts du projet sont aussi bien de pouvoir « capturer l'activité de l'utilisateur » que de lui permettre « d'interagir avec ses activités passées ». La programmation par contraintes pour optimiser les algorithmes Le projet de recherches combinatoires pour les e-sciences espère de son côté parvenir à des algorithmes d'optimisation capables de s'adapter aux problèmes combinatoires les plus complexes. Les 'solveurs' actuels, indiquent les responsables du projet, ne savent pas prendre en compte la complexité croissante des projets scientifiques. L'équipe travaille donc à optimiser ces outils avec de la programmation par contrainte. Bernard Ourghanlian souligne à ce propos qu'un module développé dans le cadre de ce projet, par Youssef Hamadi, sera intégré à la prochaine version de MS Project, qui doit justement aider les gestionnaires de projet à jongler avec les contraintes de ressources, de tâches, de budget, de temps... Le dernier projet vise à inventer des systèmes de modélisation permettant de fouiller dans les images et les vidéos, et d'en tirer des informations. Il avait déjà été en partie présenté lors des TechDays de Microsoft France, en février 2008. Si Microsoft ne veut toujours pas dire combien il a investi exactement dans ce partenariat avec l'Inria (l'éditeur prenant en fait à sa charge la moitié des quelque 50 personnes du centre de recherches), Bernard Ourghanlian répète que ce type de recherches fondamentales est un investissement à long terme, et qu'en tant que tel, il n'est pas touché par un quelconque plan de réduction des coûts. Et en attendant les applications concrètes, 7 modules logiciels sont prêts et proposés au public en Open Source.