Thèse soutenue

L'analyse formelle de concepts : un cadre structurel pour l'étude de la variabilité de familles de logiciels

FR  |  
EN
Auteur / Autrice : Jessie Carbonnel
Direction : Marianne Huchard
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance le 29/10/2018
Etablissement(s) : Montpellier
Ecole(s) doctorale(s) : École doctorale Information, Structures, Systèmes (Montpellier ; 2015-....)
Partenaire(s) de recherche : Laboratoire : Laboratoire d'informatique, de robotique et de micro-électronique (Montpellier ; 1992-....)
Jury : Président / Présidente : Anne Laurent
Examinateurs / Examinatrices : Marianne Huchard, Anne Laurent, Jean-Marc Jézéquel, Amedeo Napoli, Karell Bertet, Mathieu Acher, Clémentine Nebut
Rapporteurs / Rapporteuses : Jean-Marc Jézéquel, Amedeo Napoli

Résumé

FR  |  
EN

Des familles de logiciels similaires proviennent fréquemment de pratiques de réutilisation de clones de logiciels existants, qui sont ensuite enrichis ou dépouillés de fonctionnalités pour suivre de nouvelles exigences. Avec le temps, ces variantes se multiplient et se complexifient, et il devient difficile de les maintenir, de les faire évoluer. L’ingénierie des lignes de produits logiciels regroupe un ensemble de méthodes visant à faciliter le développement et la gestion de telles collections de logiciels similaires. Documenter la variabilité est le point central de ce paradigme ; on la représente à travers des modèles de variabilité, qui servent de supports à la grande majorité des processus propres à l’ingénierie des lignes de produits. La migration complète ou partielle de ces familles de logiciels vers des approches de type lignes de produits permet la simplification de leur exploitation. La rétro-ingénierie, la modélisation et la gestion de la variabilité sont reconnues comme une phase cruciale et ardue de cette migration. Par conséquent, de nombreuses approches ont été proposées pour étudier des descriptions de familles de logiciels dans ce but. Plusieurs d’entre elles s’appuient sur l’analyse formelle de concepts, un cadre mathématique de groupement hiérarchique qui organise un ensemble d’objets et leurs descriptions dans une structure canonique mettant naturellement en évidence leurs aspects communs et variables.Dans ce manuscrit, nous défendons l'idée que l’analyse formelle de concepts, plus qu’un outil, offre un véritable cadre structurel et réutilisable à l’étude de la variabilité des familles de produits.Dans un premier temps, nous établissons un panorama des informations sur la variabilité qui sont mises en évidence grâce à ce formalisme, et discutons de son spectre d’applicabilité. Nous étudions les points communs entre les structures conceptuelles produites par l’analyse formelle de concepts et les modèles de variabilité. Dans un second temps, nous illustrons l’utilisation originale de ces structures conceptuelles comme support à des opérations de conception et de recherche d’informations. Enfin, nous élargissons notre champ d’étude aux informations plus complexes définies par des modèles de variabilité qui ont été étendus pour en améliorer l’expressivité, et dont la rétro-ingénierie est encore peu étudiée à ce jour. Nous montrons comment certaines propriétés de l’analyse formelle de concepts permettent de généraliser son utilisation à des descriptions de variantes plus complexes, et étudions son application pour la manipulation d’attributs multivalués et de cardinalités, en complément des caractéristiques booléennes traditionnelles. Nous évaluons notre approche sur des données issues de dépôts tels que SPLOT, fork-insight et de matrices de comparaison de produits de wikipedia.