Dissertation Mining Software Artefact Variants for Product Line Migration
Total Page:16
File Type:pdf, Size:1020Kb
PhD-FSTC-2016-48 EDITE de Paris Faculté des Sciences, de la École doctorale Informatique, Technologie et de la Communication Télécommunications et Électronique (Paris) Dissertation Defense held on the 18th October 2016 in Luxembourg to obtain the degree of Docteur de l'Université du Luxembourg en Informatique and Docteur de l'Université Pierre et Marie Curie Spécialité: Informatique by Jabier Martinez Born on 11th March 1984 in Barakaldo, Basque Country (Spain) Mining Software Artefact Variants for Product Line Migration and Analysis Dissertation Defense Committee Dr. Jacques Klein, chairman Université du Luxembourg, Luxembourg Dr. Pascal Poizat, vice-chairman Professor, Université Paris Ouest Nanterre La Défense et UPMC, Paris, France Dr. Jean-Marc Jézéquel, member Professor, Institut de Recherche en Informatique et Systèmes Aléatoires (IRISA), Rennes, France Dr. Klaus Schmid, member Professor, University of Hildesheim, Department of Computer Science, Hildesheim, Germany Dr. Yves Le Traon, supervisor Professor, Université du Luxembourg, Luxembourg Dr. Mikal Ziane, co-supervisor Maître de conférences HDR, Université Paris Descartes et UPMC, Paris, France Dr. Tewk Ziadi, expert, co-supervisor Université Pierre and Marie Curie, Paris, France THESE DE DOCTORAT DE L’UNIVERSITÉ PIERRE ET MARIE CURIE et L’UNIVERSITÉ DU LUXEMBOURG Spécialité Informatique EDITE de Paris École doctorale Informatique, Télécommunications et Électronique (Paris) Présentée par M. Jabier Martinez Pour obtenir le grade de DOCTEUR de l’UNIVERSITÉ PIERRE ET MARIE CURIE et DOCTEUR de l’UNIVERSITÉ DU LUXEMBOURG Sujet de la thèse : Exploration des variantes d'artefacts logiciels pour une analyse et une migration vers des lignes de produits soutenue le 18 Octobre 2016 devant le jury composé de : Dr. Jean-Marc Jézéquel, rapporteur Professor, Institut de Recherche en Informatique et Systèmes Aléatoires, Rennes, France Dr. Klaus Schmid, rapporteur Professor, University of Hildesheim, Department of Computer Science, Hildesheim, Germany Dr. Jacques Klein, examinateur Université du Luxembourg, Luxembourg Dr. Pascal Poizat, examinateur Professor, Université Paris Ouest Nanterre La Défense et UPMC, Paris, France Dr. Yves Le Traon, co-directeur Professor, Université du Luxembourg, Luxembourg Dr. Mikal Ziane, co-directeur Maître de conférences HDR, Université Paris Descartes et UPMC, Paris, France Dr. Tewfik Ziadi, encadrant Université Pierre and Marie Curie, Paris, France Mining Software Artefact Variants for Product Line Migration and Analysis Abstract Software Product Lines (SPLs) enable the derivation of a family of products based on variability management techniques. Inspired by the manufacturing industry, SPLs use feature configurations to satisfy different customer needs, along with reusable assets associated to the features, to allow systematic and planned reuse. SPLs are reported to have numerous benefits such as time-to-market reduction, productivity increase or product quality improvement. However, the barriers to adopt an SPL are equally numerous requiring a high up-front investment in domain analysis and implementation. In this context, to create variants, companies more commonly rely on ad-hoc reuse techniques such as copy-paste-modify. Capitalizing on existing variants by extracting the common and varying elements is referred to as extractive approaches for SPL adoption. Extractive SPL adoption allows the migration from single-system development mentality to SPL practices. Several activities are involved to achieve this goal. Due to the complexity of artefact variants, feature identification is needed to analyse the domain variability. Also, to identify the associated implementation elements of the features, their location is needed as well. In addition, feature constraints should be identified to guarantee that customers are not able to select invalid feature combinations (e.g., one feature requires or excludes another). Then, the reusable assets associated to the feature should be constructed. And finally, to facilitate the communication among stakeholders, a comprehensive feature model need to be synthesized. While several approaches have been proposed for the above-mentioned activities, extractive SPL adoption remains challenging. A recurring barrier consists in the limitation of existing techniques to be used beyond the specific types of artefacts that they initially targeted, requiring inputs and providing outputs at different granularity levels and with different representations. Seamlessly address the activities within the same environment is a challenge by itself. This dissertation presents a unified, generic and extensible framework for mining software artefact variants in the context of extractive SPL adoption. We describe both its principles and its realization in Bottom-Up Technologies for Reuse (BUT4Reuse). Special attention is paid to model-driven development scenarios. A unified process and representation would enable practitioners and researchers to empirically analyse and compare different techniques. Therefore, we also focus on benchmarks and in the analysis of variants, in particular, in benchmarking feature location techniques and in identifying families of variants in the wild for experimenting with feature identification techniques. We also present visualisation paradigms to support domain experts on feature naming during feature identification and to support on feature constraints discovery. Finally, we investigate and discuss the mining of artefact variants for SPL analysis once the SPL is already operational. Concretely, we present an approach to find relevant variants within the SPL configuration space guided by end user assessments. Exploration des variantes d’artefacts logiciels pour une analyse et une migration vers des lignes de produits Résumé Les lignes de produits logiciels (LdPs) permettent la dérivation d’une famille de produits basés sur une gestion de la variabilité. Les LdPs utilisent des configurations de caractéristiques afin de satisfaire les besoins de chaque client et, de même, permettre une réutilisation systématique en utilisant des assets réutilisables. L’approche capitalisant sur des variantes des produits existants est appelé une approche extractive pour l’adoption de LdPs. L’identification des caractéristiques est nécessaire pour analyser la variabilité d’un ensemble de variantes. Il est également nécessaire de localiser les éléments associés à ces caractéristiques. Les contraintes entre ces caractéristiques doivent être identifiées afin de garantir la sélection de configurations valides. Par ailleurs, il faut construire les assets réutilisables et synthétiser un modèle de caractéristiques. Cette thèse présente BUT4Reuse (Bottom-Up Technologies for Reuse), un framework unifié, générique et extensible pour l’adoption extractive de LdPs. Une attention particulière est accordée à des scénarios de développement dirigée par les modèles. Nous nous concentrons aussi sur l’analyse des techniques en proposant un benchmark pour la localisation de caractéristiques et une technique d’identification de familles de variantes. Nous présentons des paradigmes de visualisation pour accompagner les experts du domaine dans le nommage de caractéristiques et aider à la découverte de contraintes. Finalement, nous étudions l’exploitation des variantes pour l’analyse de la LdP après sa création. Nous présentons une approche pour trouver des variantes pertinentes guidée par des évaluations des utilisateurs finaux. Acknowledgements hanks. Thanks to my parents Chuchi and Josefa. Gracias por el amor y apoyo incondicional, por vuestro trabajo duro que me dio la oportunidad y la libertad de Telegir mi camino. No podré agradecer suficiente todo lo que habeis hecho por mi. Thanks to my brother Josu, I do not need to mention to which extent I appreciate the way you are. Thanks to my extended family and friends who, despite of the distance from my hometown Bilbao, were always close to me. Thanks Julia, for your encouragement and love. Thanks Tewfik. Thanks for your never ending enthusiasm and vision. I gladly remember my visits to your office when I was still working in industry to discuss about research ideas. We accomplished those ideas and many others too. Thanks Mikal, I am grateful for your availability and support. Thanks to LiP6 and the nice people there. Thanks Yves. Thanks for your continued support and encouragement. Thanks for creating an environment that allowed me to give the best of myself. I remember when I first met you to apply for a PhD student position. I always felt comfortable at Luxembourg and I have grown as a person and as a researcher within a team of great human and professional quality. Thanks Jacques, Tegawendé, Mike and Chris. Discussing with you was very enjoyable and prolific. Thanks to everybody in the team, including my officemates Anestis and Girum. Thanks to all. We spent uncountable hours and coffees together. Thanks to the Luxembourg National Research Fund for the PhD grant. Thanks to the administrative staff of both universities. Thanks to my collaborators at the Luxembourg Institute of Science and Technology. Thanks to Gabriele. Thanks to the European Software Institute (Tecnalia) and Thales, places where I first got inspired to follow this research line. Thanks to the organizers of the conferences I attended. Thanks to the constructive criticism of the anonymous reviewers. Finally, special thanks to the jury members for their time. Jabier Martínez Paris, France, August 2016 v Contents List of abbreviations xiii List of figures xv List