CASE Tool Support for Variability Management in Software Product Lines

Software product lines (SPL) aim at reducing time-to-market and increasing software quality through extensive, planned reuse of artifacts. An essential activity in SPL is variability management, i.e., defining and managing commonality and variability among member products. Due to the large scale and complexity of today's software-intensive systems, variability management has become increasingly complex to conduct. Accordingly, tool support for variability management has been gathering increasing momentum over the last few years and can be considered a key success factor for developing and maintaining SPLs. While several studies have already been conducted on variability management, none of these analyzed the available tool support in detail. In this work, we report on a survey in which we analyzed 37 existing variability management tools identified using a systematic literature review to understand the tools’ characteristics, maturity, and the challenges in the field. We conclude that while most studies on variability management tools provide a good motivation and description of the research context and challenges, they often lack empirical data to support their claims and findings. It was also found that quality attributes important for the practical use of tools such as usability, integration, scalability, and performance were out of scope for most studies.

[1]  Witold Pedrycz,et al.  Intelligent design of product lines in Holmes , 2001, Canadian Conference on Electrical and Computer Engineering 2001. Conference Proceedings (Cat. No.01TH8555).

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

[3]  Florian Heidenreich Towards systematic ensuring well-formedness of software product lines , 2009, FOSD '09.

[4]  Goetz Botterweck,et al.  Visualization of variability and configuration options , 2012, International Journal on Software Tools for Technology Transfer.

[5]  John D. McGregor,et al.  A systematic mapping study of software product lines testing , 2011, Inf. Softw. Technol..

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

[7]  Timo Soininen,et al.  Kumbang Configurator – A Configuration Tool for Software Product Families ∗ , 2005 .

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

[9]  Marco Sinnema,et al.  Classifying variability modeling techniques , 2007, Inf. Softw. Technol..

[10]  Michal Antkiewicz,et al.  FeaturePlugin: feature modeling plug-in for Eclipse , 2004, eclipse '04.

[11]  Danilo Beuche Using pure::variants across the product line lifecycle , 2017, SPLC.

[12]  Miguel A. Laguna,et al.  Development of a Feature Modeling Tool using Microsoft DSL Tools , 2009 .

[13]  Jan Bosch,et al.  Managing Variability in Software Product Lines , 2000 .

[14]  Per Runeson,et al.  Guidelines for conducting and reporting case study research in software engineering , 2009, Empirical Software Engineering.

[15]  Silvio Romero de Lemos Meira,et al.  ToolDAy: a tool for domain analysis , 2010, International Journal on Software Tools for Technology Transfer.

[16]  B. Turner,et al.  Grounded Theory and Organizational Research , 1986 .

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

[18]  John D. McGregor,et al.  On strategies for testing software product lines: A systematic literature review , 2014, Inf. Softw. Technol..

[19]  Gerhard Friedrich,et al.  Intelligent Support for Interactive Configuration of Mass-Customized Products , 2001, IEA/AIE.

[20]  Jeff Magee,et al.  The Koala Component Model for Consumer Electronics Software , 2000, Computer.

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

[22]  David Notkin,et al.  Software Reflexion Models: Bridging the Gap between Design and Implementation , 2001, IEEE Trans. Software Eng..

[23]  Jabier Martinez,et al.  Towards a Model-Driven Product Line for Web systems , 2009 .

[24]  George Valença,et al.  Accepted Manuscript Requirements Engineering for Software Product Lines: a Systematic Literature Review Accepted Manuscript Requirements Engineering for Software Product Lines: a Systematic Literature Review Accepted Manuscript , 2022 .

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

[26]  Arnaud Gotlieb,et al.  PACOGEN: Automatic Generation of Pairwise Test Configurations from Feature Models , 2011, 2011 IEEE 22nd International Symposium on Software Reliability Engineering.

[27]  Silvio Romero de Lemos Meira,et al.  Agile software product lines: a systematic mapping study , 2011, Softw. Pract. Exp..

[28]  Holger Eichelberger,et al.  EASy-producer: product line development for variant-rich ecosystems , 2014, SPLC '14.

[29]  Bogdan Dit,et al.  Feature location in source code: a taxonomy and survey , 2013, J. Softw. Evol. Process..

[30]  Stan Jarzabek,et al.  XVCL: a mechanism for handling variants in software product lines , 2004, Sci. Comput. Program..

[31]  共立出版株式会社 コンピュータ・サイエンス : ACM computing surveys , 1978 .

[32]  Rabih Bashroush A NUI Based Multiple Perspective Variability Modeling CASE Tool , 2010, ECSA.

[33]  Alexander Egyed,et al.  A systematic mapping study of search-based software engineering for software product lines , 2015, Inf. Softw. Technol..

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

[35]  Charles W. Krueger,et al.  The 3-Tiered Methodology: Pragmatic Insights from New Generation Software Product Lines , 2007, 11th International Software Product Line Conference (SPLC 2007).

[36]  Tony Gorschek,et al.  A systematic review of domain analysis solutions for product lines , 2009, J. Syst. Softw..

[37]  Andreas Classen,et al.  XToF - A Tool for Tag-based Product Line Implementation , 2010, VaMoS.

[38]  Silvia Mara Abrahão,et al.  A systematic review of quality attributes and measures for software product lines , 2011, Software Quality Journal.

[39]  Alessandro Pasetti,et al.  XML-Based Feature Modelling , 2004, ICSR.

[40]  Mathieu Acher,et al.  Managing feature models with familiar: a demonstration of the language and its tool support , 2011, VaMoS.

[41]  Juha-Pekka Tolvanen,et al.  MetaEdit+: Domain-Specific Modeling and Product Generation Environment , 2007, SPLC.

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

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

[44]  Horst Lichter,et al.  RequiLine: A Requirements Engineering Tool for Software Product Lines , 2003, PFE.

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

[46]  Zarinah Mohd Kasirun,et al.  Feature extraction approaches from natural language requirements for reuse in software product lines: A systematic literature review , 2015, J. Syst. Softw..

[47]  Eduardo Figueiredo,et al.  Bad Smells in Software Product Lines: A Systematic Review , 2014, 2014 Eighth Brazilian Symposium on Software Components, Architectures and Reuse.

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

[49]  Martin Becker,et al.  Variability code analysis using the VITAL tool , 2014, FOSD '14.

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

[51]  Cristina Cachero,et al.  Requirements modeling languages for software product lines: A systematic literature review , 2016, Inf. Softw. Technol..

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

[53]  Miguel A. Laguna,et al.  A systematic mapping study on software product line evolution: From legacy system reengineering to product line refactoring , 2013, Sci. Comput. Program..

[54]  Don S. Batory,et al.  Scaling step-wise refinement , 2004, IEEE Transactions on Software Engineering.

[55]  Mike Mannion,et al.  Managing requirements inter-dependency for software product line derivation , 2008, Requirements Engineering.

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

[57]  Carolyn B. Seaman,et al.  Qualitative Methods in Empirical Studies of Software Engineering , 1999, IEEE Trans. Software Eng..

[58]  Sven Apel,et al.  View infinity: a zoomable interface for feature-oriented software development , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[59]  Nicola Boffoli,et al.  Service-oriented product lines: a systematic mapping study , 2014, SOEN.

[60]  Camille Salinesi,et al.  Industry Survey of Product Lines Management Tools: Requirements, Qualities and Open Issues , 2007, 15th IEEE International Requirements Engineering Conference (RE 2007).

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

[62]  Maurice H. ter Beek,et al.  VMC: A Tool for Product Variability Analysis , 2012, FM.

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

[64]  Larry V. Hedges,et al.  Cooper, Harris, and Larry V. Hedges, eds., The Handbook of Research Synthesis. New York: Russell Sage Foundation, 1994. , 1994 .

[65]  Charles W. Krueger,et al.  Systems and software product line engineering with gears from BigLever software , 2014, SPLC '14.

[66]  Tomi Männistö,et al.  A systematically conducted literature review: quality attribute variability in software product lines , 2012, SPLC '12.

[67]  RabiserRick,et al.  CASE Tool Support for Variability Management in Software Product Lines , 2017 .

[68]  Jan Bosch,et al.  On the notion of variability in software product lines , 2001, Proceedings Working IEEE/IFIP Conference on Software Architecture.

[69]  Hamza Samih,et al.  MPLM - MaTeLo product line manager: [relating variability modelling and model-based testing] , 2014, SPLC '14.

[70]  Kyo Chul Kang,et al.  ASADAL: a tool system for co-development of software and test environment based on product line engineering , 2006, ICSE '06.

[71]  Ivica Crnkovic,et al.  Analysis of Non-functional Properties in Software Product Lines: A Systematic Review , 2014, 2014 40th EUROMICRO Conference on Software Engineering and Advanced Applications.

[72]  Pearl Brereton,et al.  Performing systematic literature reviews in software engineering , 2006, ICSE.

[73]  Terry Quatrani,et al.  Visual Modeling with Rational Rose 2002 and UML , 2002 .

[74]  Mirko Seifert,et al.  Derivation and Refinement of Textual Syntax for Models , 2009, ECMDA-FA.

[75]  Jan Bosch,et al.  The Evolution in Software Product Lines , 1999 .

[76]  Paul Grünbacher,et al.  The DOPLER meta-tool for decision-oriented variability modeling: a multiple case study , 2011, Automated Software Engineering.

[77]  Dietmar Pfahl,et al.  Reporting guidelines for controlled experiments in software engineering , 2005, 2005 International Symposium on Empirical Software Engineering, 2005..

[78]  Mohamed Shaheen,et al.  OPTI-SELECT: an interactive tool for user-in-the-loop feature selection in software product lines , 2014, SPLC '14.

[79]  Alexander Egyed,et al.  A first systematic mapping study on combinatorial interaction testing for software product lines , 2015, 2015 IEEE Eighth International Conference on Software Testing, Verification and Validation Workshops (ICSTW).

[80]  Pedro de Alcântara dos Santos Neto,et al.  Templates for textual use cases of software product lines: results from a systematic mapping study and a controlled experiment , 2015, Journal of Software Engineering Research and Development.

[81]  Marco Sinnema,et al.  COVAMOF: A Framework for Modeling Variability in Software Product Families , 2004, SPLC.

[82]  Alexandre Yakovlev,et al.  VARMA—VARiability modelling and analysis tool , 2012, 2012 IEEE 15th International Symposium on Design and Diagnostics of Electronic Circuits & Systems (DDECS).

[83]  Claes Wohlin,et al.  Experimentation in Software Engineering , 2000, The Kluwer International Series in Software Engineering.

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

[85]  Birger Møller-Pedersen,et al.  On the Implementation of a Tool for Feature Modeling with a Base Model Twist , 2006 .

[86]  Paul Grünbacher,et al.  Custom-developed vs. model-based configuration tools: experiences from an industrial automation ecosystem , 2013, SPLC '13 Workshops.

[87]  Mathieu Acher,et al.  ViViD: a variability-based tool for synthesizing video sequences , 2014, SPLC '14.

[88]  Klaus Schmid,et al.  PuLSE-BEAT -- A Decision Support Tool for Scoping Product Lines , 2000, IW-SAPF.

[89]  Jeffrey Heer,et al.  prefuse: a toolkit for interactive information visualization , 2005, CHI.

[90]  Hassan Gomaa,et al.  Tool Support for Software Variability Management and Product Derivation in Software Product Lines , 2004 .

[91]  Dániel Varró,et al.  A research roadmap towards achieving scalability in model driven engineering , 2013, BigMDE '13.

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

[93]  Martin C. Rinard,et al.  The Challenges of Staying Together While Moving Fast: An Exploratory Study , 2016, 2016 IEEE/ACM 38th International Conference on Software Engineering (ICSE).

[94]  Mathieu Acher,et al.  WebFML: synthesizing feature models everywhere , 2014, SPLC '14.

[95]  Per Runeson,et al.  Software product line testing - A systematic mapping study , 2011, Inf. Softw. Technol..

[96]  Cláudia Werner,et al.  Odyssey: a reuse environment based on domain models , 1999, Proceedings 1999 IEEE Symposium on Application-Specific Systems and Software Engineering and Technology. ASSET'99 (Cat. No.PR00122).

[97]  Heiko Behrens,et al.  Xtext: implement your language faster than the quick and dirty way , 2010, SPLASH/OOPSLA Companion.

[98]  Marcelo Fantinato,et al.  The use of software product lines for business process management: A systematic literature review , 2013, Inf. Softw. Technol..

[99]  William B. Frakes,et al.  DARE-COTS. A domain analysis support tool , 1997, Proceedings 17th International Conference of the Chilean Computer Science Society.

[100]  Øystein Haugen,et al.  An algorithm for generating t-wise covering arrays from large feature models , 2012, SPLC '12.

[101]  Douglas C. Schmidt,et al.  Automating Product-Line Variant Selection for Mobile Devices , 2007, 11th International Software Product Line Conference (SPLC 2007).

[102]  Wolfgang Schröder-Preikschat,et al.  The Linux Kernel Configurator as a Feature Modeling Tool , 2008, SPLC.

[103]  Thomas D. Cook,et al.  Threats to the validity of research syntheses , 1994 .

[104]  Marek Hatala,et al.  Combining service-orientation and software product line engineering: A systematic mapping study , 2013, Inf. Softw. Technol..