Feature-Model Interfaces: The Highway to Compositional Analyses of Highly-Configurable Systems

Today’s software systems are often customizable by means of load-time or compile-time configuration options. These options are typically not independent and their dependencies can be specified by means of feature models. As many industrial systems contain thousands of options, the maintenance and utilization of feature models is a challenge for all stakeholders. In the last two decades, numerous approaches have been presented to support stakeholders in analyzing feature models. Such analyses are commonly reduced to satisfiability problems, which suffer from the growing number of options. While first attempts have been made to decompose feature models into smaller parts, they still require to compose all parts for analysis. We propose the concept of a feature-model interface that only consists of a subset of features, typically selected by experts, and hides all other features and dependencies. Based on a formalization of feature-model interfaces, we prove compositionality properties. We evaluate feature-model interfaces using a three-month history of an industrial feature model from the automotive domain with 18,616 features. Our results indicate performance benefits especially under evolution as often only parts of the feature model need to be analyzed again.

[1]  Don S. Batory,et al.  Feature Models, Grammars, and Propositional Formulas , 2005, SPLC.

[2]  Sergio Segura,et al.  BeTTy: benchmarking and testing on the automated analysis of feature models , 2012, VaMoS.

[3]  Krzysztof Czarnecki,et al.  Evolution of the Linux Kernel Variability Model , 2010, SPLC.

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

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

[6]  Marko Rosenmüller,et al.  Automating the Configuration of Multi Software Product Lines , 2010, VaMoS.

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

[8]  Antonio Ruiz Cortés,et al.  Improving Decision Making in Software Product Lines Product Plan Management , 2004 .

[9]  Marko Rosenmüller,et al.  Modeling Dependent Software Product Lines , 2008 .

[10]  Sebastian Erdweg,et al.  A variability-aware module system , 2012, OOPSLA '12.

[11]  Krzysztof Czarnecki,et al.  Verifying feature-based model templates against well-formedness OCL constraints , 2006, GPCE '06.

[12]  Gunter Saake,et al.  Feature-Oriented Software Product Lines , 2013, Springer Berlin Heidelberg.

[13]  References , 1971 .

[14]  Marek Hatala,et al.  Aspect-Oriented Feature Models , 2010, MoDELS.

[15]  Kathi Fisler,et al.  Interfaces for modular feature verification , 2002, Proceedings 17th IEEE International Conference on Automated Software Engineering,.

[16]  Miguel Toro,et al.  Automated error analysis for the agilization of feature modeling , 2008, J. Syst. Softw..

[17]  Gunter Saake,et al.  Feature-context interfaces: tailored programming interfaces for software product lines , 2014, SPLC.

[18]  Thomas Leich,et al.  FeatureIDE: An extensible framework for feature-oriented software development , 2014, Sci. Comput. Program..

[19]  Haiyan Zhao,et al.  A Propositional Logic-Based Method for Verification of Feature Models , 2004, ICFEM.

[20]  Olivier Barais,et al.  Composing Your Compositions of Variability Models , 2013, MoDELS.

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

[22]  Sebastian Erdweg,et al.  Abstract Features in Feature Modeling , 2011, 2011 15th International Software Product Line Conference.

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

[24]  Sergio Segura,et al.  FAMA: Tooling a Framework for the Automated Analysis of Feature Models , 2007, VaMoS.

[25]  Gunter Saake,et al.  Multi-dimensional variability modeling , 2011, VaMoS.

[26]  Mathieu Acher,et al.  Extraction and evolution of architectural variability models in plugin-based systems , 2013, Software & Systems Modeling.

[27]  Adithya Hemakumar,et al.  Finding Contradictions in Feature Models , 2008, SPLC.

[28]  Sebastian Krieter,et al.  An Efficient Algorithm for Feature-Model Slicing , 2016 .

[29]  Thomas Thüm,et al.  Towards modular analysis of multi product lines , 2013, SPLC '13 Workshops.

[30]  Klaus Pohl,et al.  Model Checking of Domain Artifacts in Product Line Engineering , 2009, 2009 IEEE/ACM International Conference on Automated Software Engineering.

[31]  Charles W. Krueger,et al.  New methods in software product line development , 2006, 10th International Software Product Line Conference (SPLC'06).

[32]  Pierre-Yves Schobbens,et al.  Towards Multi-view Feature-Based Configuration , 2010, REFSQ.

[33]  Antonio Ruiz Cortés,et al.  Abductive Reasoning and Automated Analysis of Feature Models: How are they connected? , 2009, VaMoS.

[34]  Thomas Thüm,et al.  Variability Hiding in Contracts for Dependent Software Product Lines , 2016, VaMoS.

[35]  Gunter Saake,et al.  Feature-Oriented Software Product Lines , 2013, Springer Berlin Heidelberg.

[36]  Mathieu Acher,et al.  Comparing Approaches to Implement Feature Model Composition , 2010, ECMFA.

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

[38]  F. E. A Relational Model of Data Large Shared Data Banks , 2000 .

[39]  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.

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

[41]  Sergio Segura Automated Analysis of Feature Models Using Atomic Sets , 2008, SPLC.

[42]  Gunter Saake,et al.  Automated analysis of dependent feature models , 2013, VaMoS '13.

[43]  Malte Lochau,et al.  Multi-perspectives on feature models , 2012, MODELS'12.

[44]  Martin Törngren,et al.  The CVM Framework - A Prototype Tool for Compositional Variability Management , 2010, VaMoS.

[45]  Paul Grünbacher,et al.  Structuring the modeling space and supporting evolution in software product line engineering , 2010, J. Syst. Softw..

[46]  Juha Savolainen,et al.  Viewpoint-Oriented Variability Modeling , 2009, 2009 33rd Annual IEEE International Computer Software and Applications Conference.

[47]  Mathieu Acher,et al.  Slicing feature models , 2011, 2011 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011).

[48]  Paul Grünbacher,et al.  A systematic review and an expert survey on capabilities supporting multi product lines , 2012, Inf. Softw. Technol..

[49]  Christian Dietrich,et al.  Configuration coverage in the analysis of large-scale system software , 2011, PLOS '11.

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

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

[52]  Pierre-Yves Schobbens,et al.  Model checking lots of systems: efficient verification of temporal properties in software product lines , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[53]  Krzysztof Czarnecki,et al.  SAT-based analysis of feature models is easy , 2009, SPLC.