Three Cases of Feature-Based Variability Modeling in Industry

Large software product lines need to manage complex variability. A common approach is variability modeling—creating and maintaining models that abstract over the variabilities inherent in such systems. While many variability modeling techniques and notations have been proposed, little is known about industrial practices and how industry values or criticizes this class of modeling. We attempt to address this gap with an exploratory case study of three companies that apply variability modeling. Among others, our study shows that variability models are valued for their capability to organize knowledge and to achieve an overview understanding of codebases. We observe centralized model governance, pragmatic versioning, and surprisingly little constraint modeling, indicating that the effort of declaring and maintaining constraints does not always pay off.

[1]  Wolfgang Stolz,et al.  Introducing PLA at Bosch Gasoline Systems: Experiences and Practices , 2004, SPLC.

[2]  Krzysztof Czarnecki,et al.  Reverse engineering feature models , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[3]  Sooyong Park,et al.  SOFTWARE PRODUCT LINE ENGINEERING , 2006 .

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

[5]  Peter Kilpatrick,et al.  Challenges in the Application of Feature Modelling in Fixed Line Telecommunications , 2007, VaMoS.

[6]  Andreas Classen,et al.  A Preliminary Review on the Application of Feature Diagrams in Practice , 2010, VaMoS.

[7]  Krzysztof Czarnecki,et al.  Generative programming - methods, tools and applications , 2000 .

[8]  Kathleen M. Eisenhardt,et al.  Theory Building From Cases: Opportunities And Challenges , 2007 .

[9]  Lianping Chen,et al.  A Survey of Scalability Aspects of Variability Modeling Approaches , 2009 .

[10]  Krzysztof Czarnecki,et al.  A user survey of configuration challenges in Linux and eCos , 2012, VaMoS '12.

[11]  Paul Grünbacher,et al.  Model-Based Customization and Deployment of Eclipse-Based Tools: Industrial Experiences , 2009, 2009 IEEE/ACM International Conference on Automated Software Engineering.

[12]  Krzysztof Czarnecki,et al.  Mining configuration constraints: static analyses and empirical results , 2014, ICSE.

[13]  Krzysztof Czarnecki,et al.  A study of non-Boolean constraints in variability models of an embedded operating system , 2011, SPLC '11.

[14]  Krzysztof Czarnecki,et al.  A Study of Variability Models and Languages in the Systems Software Domain , 2013, IEEE Transactions on Software Engineering.

[15]  Krzysztof Czarnecki,et al.  Formalizing cardinality-based feature models and their specialization , 2005, Softw. Process. Improv. Pract..

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

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

[18]  Mark Rouncefield,et al.  Model-driven engineering practices in industry , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[19]  Paulo Borba,et al.  Automatically Checking Feature Model Refactorings , 2011, J. Univers. Comput. Sci..

[20]  Charles W. Krueger,et al.  Easing the Transition to Software Mass Customization , 2001, PFE.

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

[22]  Matthias Riebisch,et al.  Modeling Variability for Object-Oriented Product Lines , 2003, ECOOP Workshops.

[23]  Mark Rouncefield,et al.  Empirical assessment of MDE in industry , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[24]  Paul Clements,et al.  Software product lines - practices and patterns , 2001, SEI series in software engineering.

[25]  Lianping Chen,et al.  Evaluation and Assessment in Software Engineering a Status Report on the Evaluation of Variability Management Approaches , 2022 .

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

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

[28]  Krzysztof Czarnecki,et al.  Variability mechanisms in software ecosystems , 2014, Inf. Softw. Technol..

[29]  Krzysztof Czarnecki,et al.  Variability modeling in the real: a perspective from the operating systems domain , 2010, ASE '10.

[30]  Felix Lösch,et al.  Optimization of Variability in Software Product Lines , 2007, 11th International Software Product Line Conference (SPLC 2007).

[31]  Paul Grünbacher,et al.  Understanding Decision-Oriented Variability Modelling , 2008, SPLC.

[32]  Klaus Schmid,et al.  A comparison of decision modeling approaches in product lines , 2011, VaMoS.

[33]  David M. Weiss,et al.  Software Product Line Engineering , 2005, SEKE.

[34]  A. Strauss,et al.  The discovery of grounded theory: strategies for qualitative research aldine de gruyter , 1968 .

[35]  Krzysztof Czarnecki,et al.  Cool features and tough decisions: a comparison of variability modeling approaches , 2012, VaMoS.