Evolution, Testing and Configuration of Variability Systems Intensive José Ángel Galindo Duarte
Total Page:16
File Type:pdf, Size:1020Kb
Evolution, testing and configuration of variability systems intensive José Ángel Galindo Duarte To cite this version: José Ángel Galindo Duarte. Evolution, testing and configuration of variability systems intensive. Other [cs.OH]. Université Rennes 1, 2015. English. NNT : 2015REN1S008. tel-01187958 HAL Id: tel-01187958 https://tel.archives-ouvertes.fr/tel-01187958 Submitted on 28 Aug 2015 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. ANNEE´ 2014 THESE` / UNIVERSITE´ DE RENNES 1 sous le sceau de l’Universite´ Europeenne´ de Bretagne En cotutelle Internationale avec Universite´ de Seville,´ Espagne pour le grade de DOCTEUR DE L’UNIVERSITE´ DE RENNES 1 Mention : informatique Ecole´ doctorale Matisse present´ ee´ par Jose´ Angel´ GALINDO DUARTE prepar´ ee´ a` l’unite´ de recherche IRISA-UMR6074 Institut de Recherche en Informatique et Systemes` Aleatoires´ INRIA These` soutenue a` Seville´ Evolution, testing le 4 mars 2015 and configuration devant le jury compose´ de : Miguel Toro Bonilla of variability Professeur de l’universite´ de Seville´ / examinateur Sergio Segura Rueda Professeur de l’universite´ de Seville´ / examinateur intensive systems Jean-Marc Jez´ equel´ Professeur de l’universite´ de Rennes 1/ examinateur Alexander Felferning Professeur de l’universite´ de Graz/ examinateur Juan Manuel Murillo Professeur de l’universite´ d’Extremadura/ rapporteur EVOLUTION, TESTING AND CONFIGURATION OF VARIABILITY INTENSIVE SYSTEMS JOSE´ A. GALINDO ADVISED BY: DR.DAVID BENAVIDES CUEVAS AND DR.BENOIT BAUDRY DOUBLE DEGREE INTERNATIONAL DOCTORAL DISSERTATION First published in January 2014 by The Department of Computer Languages and Systems ETSI Informatica´ Avda. de la Reina Mercedes s/n Sevilla, 41012. SPAIN Copyright �c MMXIV Jose´ A. Galindo http://www.joseangelgalindo.es/ [email protected] Classification (ACM 2012): Categories and subject descriptors: D.2.13 [Software Engineering]: Reusable Soft- ware: Domain Engineering; D.2.1 [Software Engineering]: Requirement/Specifications: Languages,Tools; D.2.5 [Software Engineering]: Testing and Debugging - Testing tools General Terms: Design, Theory, Algorithms, Performance Additional Key Words and Phrases: software product lines, software product fami- lies, feature models, automated analysis, variability, combinatorial testing, variability intensive systems Support: This work has been partially supported by the European commission (FEDER), by the Spanish government under TAPAS (TIN2012-32273) project, by the French government under MOTIV project and by the Andalusian government under the Talentia scholarships program and under THEOS (TIC-5906) and COPAS (TIC- 1867) projects. 5 Don David Felipe Benavides Cuevas y Don Benoit Baudry, profesor titular de la Universidad de Sevilla, e investigador principal del grupo de investi- gacion´ Diverse en INRIA, HACEN CONSTAR que Don Jose´ Angel Galindo Duarte, Ingeniero en Informatica´ por la Univer- sidad de Sevilla, ha realizado bajo nuestra supervision´ el trabajo de investi- gacion´ titulado Evolution, testing and configuration of variability intensive systems. Una vez revisado, autorizamos el comienzo de los tramites´ para su pre- sentacion´ como tesis doctoral al tribunal que ha de juzgarlo. Fdo. Dr. David Felipe Benavides Cuevas y Dr. Benoit Baudry Universidad de Sevilla, Sevilla, Octubre de 2014 6 7 Yo, Jose´ Angel´ Galindo Duarte, con DNI numero´ 48959770-S, DECLARO Ser el autor del trabajo que se presenta en la memoria de esta tesis doctoral que tiene por t´ıtulo: Evolution, testing and configuration of variability intensive systems. Lo cual firmo en Sevilla, Octubre de 2014. Fdo. Jose´ A. Galindo 8 9 In addition to the committee in charge of evaluating this dissertation and the two supervisors of the thesis, it has been reviewed by the following re- searchers: • Dr. Jules White (Vanderbilt University, USA) • Dr. Mathieu Acher (Universite´ de Rennes 1, France) 10 A Mis abuelos Jose´ Duarte, Jose´ Galindo, Lourdes Rodr´ıguez y Valme Vaquero 12 Contents Acknowledgements . 23 Abstract . 25 Resumen . 27 R´esum´e .............................................. 29 I Preface 1 Introduction . 37 1.1 Overview . 38 1.2 Research method . 41 1.3 Contributions . 43 1.3.1 Summary of contributions . 43 1.3.2 Publications in chronological order . 47 1.3.3 Tools . 52 1.4 Research internships and collaborations . 52 1.5 Structure of this dissertation . 55 II Background 2 Automated analysis of variability models . 59 2.1 Variability models . 60 2.1.1 Feature models . 60 2.1.2 Orthogonal variability models (OVM) . 62 14 Contents 2.1.3 Decisions models . 64 2.2 Automated analysis of variability models . 64 2.2.1 Logics . 65 2.2.2 Operations . 66 2.3 Summary . 68 3 Evolution, testing and configuration . 69 3.1 Evolution . 70 3.1.1 Software product line evolution . 71 3.1.2 Feature model evolution . 72 3.2 Testing of variability intensive systems . 72 3.2.1 Combinatorial testing. 73 3.2.2 Cost and value guided testing. 74 3.3 Configuration . 75 3.4 Summary . 76 III Motivation 4 25 years of automated analysis of feature models. 79 4.1 Introduction . 80 4.1.1 Research questions . 80 4.1.2 Systematic mapping . 81 4.2 Classification scheme . 82 4.3 Research focus . 84 4.3.1 Variability intensive systems . 84 4.3.2 Testing and evolution of feature models . 86 4.3.3 Product configuration and derivation . 87 4.3.4 Variability and modeling expressiveness . 87 4.3.5 Multi-model variability analysis . 88 4.3.6 Reverse engineering of feature models . 89 4.4 Research type . 89 4.5 Foras analysis . 89 4.6 Discussion . 92 4.7 Summary . 92 5 Research gaps . 95 5.1 Introduction . 96 Contents 15 5.2 Problems . 96 5.3 Current Solutions . 97 5.3.1 Evolution of variability intensive systems . 97 5.3.2 Testing of variability intensive systems . 99 5.3.3 Configuration of variability intensive systems . 102 5.4 Discussion . 104 5.5 Summary . 104 IV Contributions 6 Testing: pruning, prioritizing and packaging . 109 6.1 Introduction . 110 6.2 Motivating scenario . 112 6.3 The TESALIA solution . 117 6.3.1 Capturing testing variability with feature models . 118 6.3.2 Attributing feature models with testing data . 119 6.3.3 Pruning the testing scope . 123 6.3.4 Prioritizing the tests list . 126 6.3.5 Packaging the most profitable set of products . 128 6.4 Summary . 130 7 Testing: pair-wise pruning optimization operations . 133 7.1 Introduction . 134 7.2 Motivating scenario . 135 7.2.1 Variability-based testing approach . 136 7.3 VANE solution . 138 7.3.1 T-wise CSP for attributed feature models . 140 7.3.2 T-wise covering sets for attributed feature models . 140 7.3.3 T-wise covering sets optimization . 141 7.3.4 Obtaining multi-objective test-suites . 143 7.4 Summary . 144 8 Configuring while drifting feature models . 145 8.1 Introduction . 146 8.2 Reasoning over multi-step configuration problems . 148 8.3 Modeling feature model drift . 150 8.3.1 Modifying the CSP model of multiple steps . 151 16 Contents 8.3.2 Feature drift epochs . 152 8.3.3 Epoch-based feature model constraints . 154 8.3.4 Ordered epochs . 155 8.3.5 Feature drift branches . ..