Evolution, Testing and Configuration of Variability Systems Intensive
Total Page:16
File Type:pdf, Size:1020Kb
Evolution, testing and configuration of variability systems intensive Jos´eAngel Galindo Duarte To cite this version: Jos´eAngel Galindo Duarte. Evolution, testing and configuration of variability systems in- tensive. Mathematical Software [cs.MS]. Universit´e 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´eeau d´ep^otet `ala diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publi´esou non, lished or not. The documents may come from ´emanant des ´etablissements d'enseignement et de teaching and research institutions in France or recherche fran¸caisou ´etrangers,des laboratoires abroad, or from public or private research centers. publics ou priv´es. 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 . 156 8.4 Summary . ..