Des scientifiques primés pour leurs travaux sur les feature models

Résultats scientifiques Informatique

Dix ans après leur publication précurseur, les travaux de Mathieu Acher de l'Institut de recherche en informatique et systèmes aléatoires (IRISA - CNRS/ENS Rennes/Inria/INSA Rennes/Institut Mines-Télécom/Université de Bretagne Sud/Université de Rennes 1), de Philippe Collet et de Philippe Lahire du laboratoire Informatique, Signaux et Systèmes de Sophia-Antipolis (I3S - CNRS/Université Nice Sophia-Antipolis), ainsi que du défunt et regretté Robert France continuent de stimuler le monde des feature models. La conférence internationale ACM SIGPLAN sur l’ingénierie des langages de programmation vient donc de leur décerner le prix de l’article le plus influent.

Les logiciels ne sont généralement pas codés à partir de zéro, certains appartiennent à de mêmes ensembles de programmes qui partagent de nombreux éléments. Ces similitudes et ces différences sont souvent gérées par des modèles en arborescence, appelés feature models. Pour leur publication fondatrice dans le domaine, Mathieu Acher de l'Institut de recherche en informatique et systèmes aléatoires, Philippe Collet et Philippe Lahire, du Laboratoire d’Informatique, Signaux et Systèmes de Sophia Antipolis, ont reçu fin octobre le prix du Most Influential Paper de la conférence internationale ACM SIGPLAN SLE1.

Leur article Composing Feature Models date de 2009, en effet ce prix récompense spécifiquement les papiers vieux de dix ans afin de bénéficier d’assez de recul pour en évaluer l’impact, qu’il s’agisse du nombre de citations comme de son influence dans des applications pratiques. Ces travaux ont en effet trouvé un écho aussi bien dans le monde académique que dans les entreprises.

Les features sont les différentes fonctionnalités et options que l’utilisateur final est capable d’identifier. Si ce dernier n’a en général pas accès à toute la subtilité du code d’un logiciel, il repère bien les éléments du programme qui lui servent : comme un correcteur orthographique dans un traitement de texte et le fait qu’il fonctionne ou non dans plusieurs langues.

Toutes les features d’une même ligne de produits sont représentées sous forme d’arborescences : les feature models. Pour Philippe Collet, ces modèles apparus dans les années 90 aident « à gérer la complexité de la construction et de la configuration d’à peu près tous les systèmes logiciels ».

  • 1. Association for computing machinery/Special interest group on programming languages/Software language engineering
Il faut identifier tout ce qui permet de customiser et de produire en masse.
,

Les feature models ont trouvé une application dans l’industrie automobile, qui gère de longue date les différentes options ou variantes d’un même modèle de voiture avec des outils plus simples et moins puissants. Quels choix sont compatibles ou s’excluent entre eux ? Quels éléments restent partagés ? Les réponses doivent garantir la souplesse de la production sans en démultiplier les coûts.

Ce formalisme a fini par attirer l’attention des développeurs, surtout à partir de l’explosion de la taille et de la complexité des logiciels au début des années 2000. « Un système d’exploitation comme Linux propose tellement de points de variabilité qu’il existe plus de versions potentielles possibles que d’atomes dans l’Univers, avance Philippe Collet. De même le navigateur internet Firefox pourrait se décliner dans environ 1200 versions, selon que l’on privilégie la fiabilité, la vitesse, la sécurité… Or, pour ces deux logiciels, ça n’aurait pas d’intérêt et parfois de sens de toutes les produire. Nous avons donc besoin de maîtriser cette complexité et cette variabilité. »

Les outils, comme les algorithmes de résolution de problèmes de satisfaisabilité booléenne, ou solveurs SAT, ne passent pas à l’échelle. Basés sur une syntaxe logique d’éléments vrais ou faux, ils n’étaient plus en mesure de travailler efficacement sur des modèles aussi énormes. Dans leur article fondateur, le quatuor de chercheurs a proposé une solution novatrice pour composer plusieurs feature models d’une même ligne de produits.

La composition permet de manipuler des ensembles de configuration et de les caractériser.
,

Ce principe a alors permis de fusionner des feature models, d’y ajouter ou d’enlever des parties identifiées, de changer d’échelle... « La capacité à fusionner ou à se focaliser sur des parties spécifiques aide à raisonner sur de très gros modèles, précise Philippe Lahire. La composition indique comment satisfaire au mieux un certain nombre de critères, on peut vraiment s’appuyer dessus pour résoudre quantité de problématiques. »

Ces travaux ont également ouvert la voie à la décomposition de modèles pour revenir sur des modèles algébriques plus simples, où les opérations de logique mathématique sont particulièrement efficaces. Cela peut aussi servir pour effectuer de la rétro-ingénierie, pour mieux comprendre le fonctionnement d’un programme ou pour en créer un nouveau en comparant des solutions déjà existantes.

Les chercheurs poursuivent encore leur travail afin d’améliorer et d’automatiser le raisonnement sur les lignes de produits logiciels. Les modèles peuvent ainsi gagner en complexité et aller au-delà des features, par exemple en traitant des éléments aussi fins qu’une seule ligne de code afin de repérer l’origine d’un bug. La capacité de raisonnement s’ouvre alors à l’ensemble du programme d’un logiciel, et à tout système reposant sur de la variabilité.

Enfin, la composition de feature models trouve également des applications en intelligence artificielle, en particulier dans la modélisation des pipelines de machine learning. Ces algorithmes aidaient à automatiser le traitement des données lors des phases d’apprentissages. Or ils intègrent énormément de paramètres ce qui est source d’erreur, ils bénéficieraient donc de l’adaptation d’outils tirés de feature models.

Forts de leur prix, Philippe Collet et Philippe Lahire insistent sur l’importance de leurs deux coauteurs, Mathieu Acher et Robert France. L’article a en effet été rédigé autour de la thèse de Mathieu Acher, alors doctorant à l’I3S et aujourd’hui maître de conférence à l’université de Rennes 1 et membre de l’IRISA2. Originaire de Jamaïque et professeur à l’université d’État du Colorado, Robert France est malheureusement décédé en 2015. « Il a été professeur invité ici à l’I3S, se souviennent Philippe Collet et Philippe Lahire. Il était extrêmement brillant et était sûrement un des chercheurs les plus humains que nous ayons rencontré. »

 

 

  • 2. Institut de Recherche en Informatique et Systèmes Aléatoires (IRISA, CNRS/Université Rennes 1/ENS Rennes/INSA Rennes/Université Bretagne Sud/INRIA/CentraleSupélec/Institut Mines-Telecom Atlantique)
Exemple de feature model, appliqué à une personne © Acher et al.

Références :

Mathieu Acher, Ph. Collet, Philippe Lahire et Robert France. Composing Feature Models. In: van den Brand M., Gašević D., Gray J. (eds) Software Language Engineering. SLE 2009. Lecture Notes in Computer Science, vol 5969. Springer, Berlin, Heidelberg.

https://hal.archives-ouvertes.fr/hal-00415767

Contact

Philippe Lahire
Professeur à l'Université Côte d'Azur, membre de l'I3S
Philippe Collet
Professeur à l'Université Côte d'Azur, membre de l'I3S
Mathieu Acher
Maître de conférences à l'Université Rennes 1, membre de l'IRISA