Mathieu Acher met en échec les failles de la variabilité logicielle profonde

Distinctions Informatique

Maître de Conférences à l'Université de Rennes 1, le chercheur en informatique est également membre de l'équipe DiverSE de l'Institut de recherche en informatique et systèmes aléatoires (IRISA - CNRS/ENS Rennes/Inria/INSA Rennes/IMT Atlantique/Université Bretagne Sud/Université de Rennes 1) depuis septembre 2012. Désigné membre junior de l'Institut universitaire de France (IUF) au titre de la médiation scientifique, Mathieu Acher entend mettre à contribution cette nomination pour pousser encore plus loin son exploration de la variabilité qui impacte toutes les couches d’un système logiciel, du système d’exploitation au code source de l’application en passant par les compilateurs et les données.

Depuis bientôt dix ans, la modélisation et la gestion de la variabilité dans les systèmes à forte intensité logicielle sont au centre des recherches de Mathieu Acher. Ce passionné de jeu d'échecs, lui-même classé Maître de la fédération internationale des échecs, compte d'ailleurs parmi ses rares figures tutélaires le célèbre champion du monde d'échecs Garry Kasparov. « Au même titre que le mathématicien Alan Turing qui a  contribué à établir les fondements de l'intelligence artificielle au cours des années 1940, Garry Kasparov fait partie des pionniers de l’informatique dans le sens où il a très vite compris l’intérêt de s’aider des programmes informatiques pour préparer ses parties tout en s’efforçant de démontrer les limites de l’intelligence artificielle en affrontant le supercalculateur Deep Blue vers la fin des années 1990 », relève l'enseignant-chercheur.

C'est au cours de ses études d’informatique à l'Université de Nice Sophia Antipolis, où il s'oriente rapidement vers la compilation des langages informatiques, que Mathieu Acher découvre le concept de la variabilité logicielle. La thèse qu'il soutient en 2011 dans cette même université préfigure la recherche qui mène actuellement dans ce domaine. « J'y ai développé à la fois des fondements théoriques et un support pratique pour la gestion des « feature models », un formalisme largement utilisé pour spécifier et raisonner sur la similitude et la variabilité des systèmes », souligne-t-il. Chaque « feature » ou caractéristique représente un artéfact logiciel tel qu’un composant, un morceau de code source ou encore une base de données. Avec Robert France, informaticien à l’Université d'État du Colorado, Philippe Collet et Philippe Lahire, tous deux professeurs en sciences de l’informatique à l'Université de Nice Sophia Antipolis, il est également à l'initiative du projet FAMILIAR (FeAture Model scrIpt Language for manIpulation and Automatic Reasoning)1 . « Cet outil d'analyse permet de raisonner sur plusieurs « feature models » d'un même logiciel pour pouvoir combiner ces opérations dans le but de réaliser des tâches complexes de gestion de la variabilité », explique Mathieu Acher. Recruté en 2012 par l’IRISA de Rennes, l'un des plus grands laboratoires de recherche français dans le domaine de l'informatique, le scientifique y observe désormais le logiciel sous toutes les coutures dans le but de déceler des failles de fonctionnalité et de performances.

  • 1En 2019, ce travail a reçu le prix de l’article le plus influent lors de la conférence internationale ACM SIGPLAN sur l’ingénierie des langages de programmation.
« Trouver la variante d’un logiciel pour qu’il aille plus vite, consomme moins d’énergie ou soit capable de résoudre des problèmes de plus en plus complexes »

L'équipe DiverSE, au sein de laquelle travaille Mathieu Acher, s’intéresse à une grande diversité de logiciels ce qui l’amène à collaborer aussi bien avec des experts de la vidéo et des spécialistes des systèmes d’exploitation qu’avec des entreprises de l’aéronautique et du secteur militaire. « Notre objectif est de trouver la variante d’un logiciel pour qu’il aille plus vite, consomme moins d’énergie ou soit capable de résoudre des problèmes de plus en plus complexes », précise l’enseignant-chercheur. Au fil du temps et des nouvelles versions mises au point par les développeurs, les logiciels n’ont eu de cesse de se complexifier. Le fait que chacun de ces programmes informatiques soit configurable accroît d’autant plus leur potentiel de variabilité. Pour mieux se représenter le niveau de complexité que cela peut représenter, Mathieu Acher se réfère une nouvelle fois aux échecs : « alors que le nombre de combinaisons possibles dans ce jeu de société combinatoire se situe autour de 10 40, un système d'exploitation basé sur Linux ou Android dispose aujourd’hui de plus de 15 000 options de configuration différentes portant le nombre de combinaisons possibles à 10 6000 , ce qui est proprement délirant en termes d'espace combinatoire. »

En outre, cette variabilité ne se cantonne pas à Linux et Android. D’autres logiciels ou données composant un système ajoutent encore plus de complexité. On parle alors de variabilité profonde. En s’appuyant sur des outils d’analyse comme l'apprentissage automatique ou la programmation par contraintes, Mathieu Acher parvient toutefois à s’affranchir de cette complexité pour accéder à la variabilité profonde du logiciel. Cette approche novatrice vise à optimiser le fonctionnement du logiciel en identifiant les options de configuration superflues dans le but de les neutraliser. En tant que membre junior de l’Institut universitaire de France (IUF), le chercheur va pouvoir consacrer davantage de temps à ce sujet d’étude émergent. Il souhaite notamment mettre l’accent sur ses potentielles répercussions dans d’autres champs d’investigation scientifique à l’image des modèles climatiques susceptibles de devenir de moins en moins fiables à mesure que leur complexité augmente. Le chercheur compte aussi mettre à profit ses cinq années à l’IUF pour mieux faire connaître cette notion de variabilité profonde auprès de la communauté scientifique et du grand public.

Contact

Mathieu Acher
Associate professor Université de Rennes 1, member of IRISA