Contexte. Les systèmes logiciels sont fortement configurables, au sens où les utilisateurs peuvent adapter leur compilation et leur exécution grâce à des configurations. Mais toutes ces configurations ne se valent pas, et certaines d'entre elles seront nettement plus efficaces que d'autres en terme de performance. Pour l'être humain, il est complexe d'appréhender et de comparer les différentes possibilités de configuration, et donc de choisir laquelle sera adaptée pour atteindre un objectif de performance. De récents travaux de recherche ont montré que l'apprentissage automatique pouvait pallier à ce manque et prédire la valeur des performances d'un système logiciel à partir de ses configurations.
Problème. Mais ces techniques n'incluent pas directement l'environnement d'exécution dans les données d'apprentissage, alors que les différents éléments de la pile logicielle (matériel, système d'exploitation, etc.) peuvent interagir avec les différentes options de configuration et modifier les distributions de performance du logiciel. En bref, nos modèles prédictifs de performance sont trop simplistes et ne seront pas utiles ou applicables pour les utilisateurs finaux des logiciels configurables.
Contributions. Dans cette thèse, nous proposons d'abord de définir le terme de variabilité profonde pour désigner les interactions existant entre l'environnement et les configurations d'un logiciel, modifiant ses valeurs de performance. Nous démontrons empiriquement l'existence de cette variabilité profonde et apportons quelques solutions pour adresser les problèmes soulevés par la variabilité profonde. Enfin, nous prouvons que les modèles d'apprentissage automatique peuvent être adaptés pour être par conception robustes à la variabilité profonde.
Élisa Fromont Full Professor, Université de Rennes 1, IUF, FRANCE
Rapporteurs :
Lidia FUENTES Full Professor, Universidad de Málaga, ITIS Software, SPAIN
Rick RABISER Full Professor, Johannes Kepler Universität, AUSTRIA
Membres du jury :
Maxime CORDY Research Scientist, University of Luxembourg, LUXEMBOURG
Pooyan JAMSHIDI Assistant Professor, University of South Carolina, UNITED STATES
Directeurs :
Mathieu ACHER Full Professor, INSA Rennes, IUF, FRANCE
Arnaud BLOUIN Associate Professor (HDR), INSA Rennes, FRANCE
Superviseur :
Jean-Marc JÉZÉQUEL Full Professor, Université de Rennes 1, FRANCE