Analysis of variability models: a systematic literature review

Dealing with variability, during Software Product Line Engineering (SPLE), means trying to allow software engineers to develop a set of similar applications based on a manageable range of variable functionalities according to expert users’ needs. Particularly, variability management (VM) is an activity that allows flexibility and a high level of reuse during software development. In the last years, we have witnessed a proliferation of methods, techniques and supporting tools for VM in general, and for its analysis in particular. More precisely, a specific field has emerged, named (automated) variability analysis, focusing on verifying variability models across the SPLE’s phases. In this paper, we introduce a systematic literature review of existing proposals (as primary studies) focused on analyzing variability models. We define a classification framework, which is composed of 20 sub-characteristics addressing general aspects, such as scope and validation, as well as model-specific aspects, such as variability primitives, reasoner type. The framework allows to look at the analysis of variability models during its whole life cycle—from design to derivation—according to the activities involved during an SPL development. Also, the framework helps us answer three research questions defined for showing the state of the art and drawing challenges for the near future. Among the more interesting challenges, we can highlight the needs of more applications in industry, the existence of more mature tools, and the needs of providing more semantics in the way of variability primitives for identifying inconsistencies in the models.

[1]  Marco Torchiano,et al.  Maturity of software modelling and model driven engineering: A survey in the Italian industry , 2012, EASE.

[2]  Michael Nieke,et al.  Anomaly Detection and Explanation in Context-Aware Software Product Lines , 2017, SPLC.

[3]  Henrik Lönn,et al.  EPM: a prototype tool for variability management in component hierarchies , 2012, SPLC '12.

[4]  Gunter Saake,et al.  An overview on analysis tools for software product lines , 2014, SPLC '14.

[5]  Alejandra Cechich,et al.  Automated Analysis of Variability Models: The SeVaTax Process , 2018, ICCSA.

[6]  Jan Bosch,et al.  Design and use of software architectures - adopting and evolving a product-line approach , 2000 .

[7]  Abdelrahman Osman Elfaki,et al.  A rule‐based approach to detect and prevent inconsistency in the domain‐engineering process , 2016, Expert Syst. J. Knowl. Eng..

[8]  Fabricia Roos-Frantz,et al.  FaMa-OVM: a tool for the automated analysis of OVMs , 2012, SPLC '12.

[9]  Daniel Diaz,et al.  Method to Identify Corrections of Defects on Product Line Models , 2014, CLEI Selected Papers.

[10]  Alejandra Cechich,et al.  A DL Semantics for Reasoning over OVM-based Variability Models , 2017, Description Logics.

[11]  Gabriel Tamura,et al.  VariaMos: an extensible tool for engineering (dynamic) product lines , 2015, SPLC.

[12]  Shin Nakajima,et al.  Semi-automated diagnosis of FODA feature diagram , 2010, SAC '10.

[13]  Halit Oguztüzün,et al.  From extended feature models to constraint logic programming , 2013, Sci. Comput. Program..

[14]  Daniel Jackson,et al.  Software Abstractions - Logic, Language, and Analysis , 2006 .

[15]  Klaus Schmid,et al.  A systematic analysis of textual variability modeling languages , 2013, SPLC '13.

[16]  Alain Abran,et al.  A systematic literature review: Opinion mining studies from mobile app store user reviews , 2017, J. Syst. Softw..

[17]  Camille Salinesi,et al.  RED-PL, a Method for Deriving Product Requirements from a Product Line Requirements Model , 2007, CAiSE.

[18]  Apostolos Ampatzoglou,et al.  Identifying, categorizing and mitigating threats to validity in software engineering secondary studies , 2019, Inf. Softw. Technol..

[19]  Camille Salinesi,et al.  An Ontological Rule-Based Approach for Analyzing Dead and False Optional Features in Feature Models , 2013, CLEI Selected Papers.

[20]  Bo Wang,et al.  Interactive Inconsistency Fixing in Feature Modeling , 2014, Journal of Computer Science and Technology.

[21]  Christoph Weidenbach,et al.  Automated verification of interactive rule-based configuration systems , 2013, 2013 28th IEEE/ACM International Conference on Automated Software Engineering (ASE).

[22]  Anil Kumar Thurimella,et al.  Metadoc Feature Modeler: A Plug-in for IBM Rational DOORS , 2011, 2011 15th International Software Product Line Conference.

[23]  Michal Antkiewicz,et al.  Clafer: unifying class and feature modeling , 2014, Software & Systems Modeling.

[24]  Donald D. Cowan,et al.  S.P.L.O.T.: software product lines online tools , 2009, OOPSLA Companion.

[25]  Ade Azurat,et al.  Feature Model-to-Ontology for SPL Application Realisation , 2017, ArXiv.

[26]  Antonio Ruiz Cortés,et al.  Feature Model to Orthogonal Variability Model Transformation Towards Interoperability Between Tools , 2009 .

[27]  Jan Keiser,et al.  A Multi-agent Approach to Professional Software Engineering , 2013, EMAS@AAMAS.

[28]  Shamim Ripon,et al.  Requirement Analysis of Product Line Based Semantic Web Services , 2014 .

[29]  Paulo Borba,et al.  Safe Composition of Configuration Knowledge-Based Software Product Lines , 2011, 2011 25th Brazilian Symposium on Software Engineering.

[30]  Sebastian Krieter,et al.  FeatureIDE: Empowering Third-Party Developers , 2017, SPLC.

[31]  William R. Cook,et al.  Safe composition of product lines , 2007, GPCE '07.

[32]  Mathieu Acher,et al.  FAMILIAR: A domain-specific language for large scale management of feature models , 2013, Sci. Comput. Program..

[33]  Lianping Chen,et al.  Variability management in software product lines: a systematic review , 2009, SPLC.

[34]  Jeff Z. Pan,et al.  Verifying feature models using OWL , 2007, J. Web Semant..

[35]  Krzysztof Czarnecki,et al.  A survey of variability modeling in industrial practice , 2013, VaMoS.

[36]  Pearl Brereton,et al.  Lessons from applying the systematic literature review process within the software engineering domain , 2007, J. Syst. Softw..

[37]  Gerd Gröner,et al.  Goal-oriented modeling and verification of feature-oriented product lines , 2014, Software & Systems Modeling.

[38]  Rabih Bashroush,et al.  CASE Tool Support for Variability Management in Software Product Lines , 2017 .

[39]  Danny Weyns,et al.  Variability in Software Systems—A Systematic Literature Review , 2014, IEEE Transactions on Software Engineering.

[40]  Jongmoon Baik,et al.  An Integrated Software Management Tool for Adopting Software Product Lines , 2012, 2012 IEEE/ACIS 11th International Conference on Computer and Information Science.

[41]  Renata Pontin de Mattos Fortes,et al.  A systematic review of domain analysis tools , 2010, Inf. Softw. Technol..

[42]  Sergio Segura,et al.  Automated analysis of feature models 20 years later: A literature review , 2010, Inf. Syst..

[43]  Jaelson Brelaz de Castro,et al.  Variability Management in Dynamic Software Product Lines: A Systematic Mapping , 2015, 2015 IX Brazilian Symposium on Components, Architectures and Reuse Software.

[44]  Ebrahim Bagheri,et al.  Feature Model Debugging based on Description Logic Reasoning , 2011, DMS.

[45]  Shivani Goel,et al.  Analyzing inconsistencies in software product lines using an ontological rule-based approach , 2017, J. Syst. Softw..

[46]  Muhammad Ali Babar,et al.  Identifying relevant studies in software engineering , 2011, Inf. Softw. Technol..

[47]  Håkan Burden,et al.  Industrial Adoption of Model-Driven Engineering: Are the Tools Really the Problem? , 2013, MoDELS.

[48]  Nasrullah Memon,et al.  PSN: Portfolio Social Network , 2013, ArXiv.

[49]  Thomas Thüm,et al.  Explaining anomalies in feature models , 2016, GPCE.

[50]  Xin Huang,et al.  A Map of Threats to Validity of Systematic Literature Reviews in Software Engineering , 2016, 2016 23rd Asia-Pacific Software Engineering Conference (APSEC).

[51]  Alberto A. Aguilar-Lasserre,et al.  Multiple Software Product Lines: applications and challenges , 2017 .

[52]  Pierre-Yves Schobbens,et al.  Disambiguating the Documentation of Variability in Software Product Lines: A Separation of Concerns, Formalization and Automated Analysis , 2007, 15th IEEE International Requirements Engineering Conference (RE 2007).

[53]  Andreas Classen,et al.  A text-based approach to feature modelling: Syntax and semantics of TVL , 2011, Sci. Comput. Program..

[54]  Bernhard Bauer,et al.  Management of Variability in Modular Ontology Development , 2013, ICSOC Workshops.

[55]  Klaus Schmid,et al.  Software product lines in action - the best industrial practice in product line engineering , 2007 .

[56]  Klaus Pohl,et al.  Software Product Line Engineering , 2005 .

[57]  Olga De Troyer,et al.  Applying semantic web technology to feature modeling , 2009, SAC '09.

[58]  Pearl Brereton,et al.  Systematic literature reviews in software engineering - A systematic literature review , 2009, Inf. Softw. Technol..

[59]  Barbara Kitchenham,et al.  Procedures for Performing Systematic Reviews , 2004 .

[60]  Elena Planas,et al.  Analysis of Feature Models Using Alloy: A Survey , 2016, FMSPLE.

[61]  Kyo Chul Kang,et al.  Feature-Oriented Domain Analysis (FODA) Feasibility Study , 1990 .

[62]  Marco Sinnema,et al.  Industrial validation of COVAMOF , 2008, J. Syst. Softw..

[63]  Lianping Chen,et al.  A systematic review of evaluation of variability management approaches in software product lines , 2011, Inf. Softw. Technol..

[64]  Ina Schaefer,et al.  Detecting and Explaining Conflicts in Attributed Feature Models , 2015, FMSPLE.

[65]  Michael Sannella Skyblue: a multi-way local propagation constraint solver for user interface construction , 1994, UIST '94.

[66]  Klaus Pohl,et al.  Software Product Line Engineering - Foundations, Principles, and Techniques , 2005 .

[67]  Daniel Sundmark,et al.  Factors Limiting Industrial Adoption of Test Driven Development: A Systematic Review , 2011, 2011 Fourth IEEE International Conference on Software Testing, Verification and Validation.

[68]  Uirá Kulesza,et al.  Modeling Variabilities from Software Process Lines with Compositional and Annotative Techniques: A Quantitative Study , 2013, PROFES.

[69]  KowalMatthias,et al.  Explaining anomalies in feature models , 2016 .

[70]  Antonio Ruiz Cortés,et al.  FAMA Framework , 2008, 2008 12th International Software Product Line Conference.

[71]  Gunter Saake,et al.  A Classification and Survey of Analysis Strategies for Software Product Lines , 2014, ACM Comput. Surv..

[72]  Alejandra Cechich,et al.  Towards systematic software reuse of GIS: Insights from a case study , 2013, Comput. Geosci..

[73]  Eduardo Figueiredo,et al.  Software Variability Management: An Exploratory Study with Two Feature Modeling Tools , 2013, 2013 VII Brazilian Symposium on Software Components, Architectures and Reuse.

[74]  Antonio Ruiz Cortés,et al.  FLAME: a formal framework for the automated analysis of software product lines validated by automated specification testing , 2017, Software & Systems Modeling.

[75]  Claes Wohlin,et al.  Systematic literature studies: Database searches vs. backward snowballing , 2012, Proceedings of the 2012 ACM-IEEE International Symposium on Empirical Software Engineering and Measurement.

[76]  Eduardo Figueiredo,et al.  A Systematic Literature Review of Software Product Line Management Tools , 2015, ICSR.

[77]  Amela Karahasanovic,et al.  A survey of controlled experiments in software engineering , 2005, IEEE Transactions on Software Engineering.

[78]  Mónica Pinto,et al.  Software Product Line Engineering: A Practical Experience , 2019, SPLC.

[79]  Christian Wende,et al.  FeatureMapper: mapping features to models , 2008, ICSE Companion '08.

[80]  Olga De Troyer,et al.  Feature Modeling Tools: Evaluation and Lessons Learned , 2011, ER Workshops.