Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3238147.3238201acmconferencesArticle/Chapter ViewAbstractPublication PagesaseConference Proceedingsconference-collections
research-article

Tackling combinatorial explosion: a study of industrial needs and practices for analyzing highly configurable systems

Published: 03 September 2018 Publication History

Abstract

Highly configurable systems are complex pieces of software. To tackle this complexity, hundreds of dedicated analysis techniques have been conceived, many of which able to analyze system properties for all possible system configurations, as opposed to traditional, single-system analyses. Unfortunately, it is largely unknown whether these techniques are adopted in practice, whether they address actual needs, or what strategies practitioners actually apply to analyze highly configurable systems. We present a study of analysis practices and needs in industry. It relied on a survey with 27 practitioners engineering highly configurable systems and follow-up interviews with 15 of them, covering 18 different companies from eight countries. We confirm that typical properties considered in the literature (e.g., reliability) are relevant, that consistency between variability models and artifacts is critical, but that the majority of analyses for specifications of configuration options (a.k.a., variability model analysis) is not perceived as needed. We identified rather pragmatic analysis strategies, including practices to avoid the need for analysis. For instance, testing with experience-based sampling is the most commonly applied strategy, while systematic sampling is rarely applicable. We discuss analyses that are missing and synthesize our insights into suggestions for future research.

References

[1]
Sven Apel, Don Batory, Christian Kästner, and Gunter Saake. 2013. Feature-Oriented Software Product Lines. Springer.
[2]
Sven Apel, Hendrik Speidel, Philipp Wendler, Alexander von Rhein, and Dirk Beyer. 2011. Detection of Feature Interactions Using Feature-aware Verification. In ASE.
[3]
Sven Apel, Alexander von Rhein, Thomas Thüm, and Christian Kästner. 2013. Feature-interaction detection based on feature-based specifications. Computer Networks 57, 12 (2013), 2399–2409.
[4]
Ebrahim Bagheri and Dragan Gasevic. 2011. Assessing the maintainability of software product line feature models using structural metrics. Software Quality Journal 19, 3 (2011), 579–612.
[5]
Rabih Bashroush, Muhammad Garba, Rick Rabiser, Iris Groher, and Goetz Botterweck. 2017. CASE Tool Support for Variability Management in Software Product Lines. Comput. Surveys 50, 1 (March 2017), 14:1–14:45.
[6]
Don S. Batory, David Benavides, and Antonio Ruiz Cortés. 2006. Automated analysis of feature models: challenges ahead. Commun. ACM 49, 12 (2006), 45–47.
[7]
David Benavides, Antonio Ruiz-Cortés, Pablo Trinidad, and Sergio Segura. 2006. A Survey on the Automated Analyses of Feature Models. In JISBD.
[8]
David Benavides, Sergio Segura, and Antonio Ruiz-Cortés. 2010. Automated analysis of feature models 20 years later: A literature review. Information Systems 35, 6 (2010), 615–636.
[9]
Thorsten Berger and Jianmei Guo. 2014. Towards System Analysis with Variability Model Metrics. In VAMOS.
[10]
Thorsten Berger, Daniela Lettner, Julia Rubin, Paul Grünbacher, Adeline Silva, Martin Becker, Marsha Chechik, and Krzysztof Czarnecki. 2015. What is a Feature? A Qualitative Study of Features in Industrial Software Product Lines. In SPLC.
[11]
Thorsten Berger, Divya Nair, Ralf Rublack, Joanne M. Atlee, Krzysztof Czarnecki, and Andrzej Wasowski. 2014. Three Cases of Feature-Based Variability Modeling in Industry. In MODELS.
[12]
Thorsten Berger, Rolf-Helge Pfeiffer, Reinhard Tartler, Steffen Dienst, Krzysztof Czarnecki, Andrzej Wasowski, and Steven She. 2014. Variability Mechanisms in Software Ecosystems. Information and Software Technology 56, 11 (2014), 1520–1535.
[13]
Thorsten Berger, Ralf Rublack, Divya Nair, Joanne M. Atlee, Martin Becker, Krzysztof Czarnecki, and Andrzej Wasowski. 2013. A Survey of Variability Modeling in Industrial Practice. In VAMOS.
[14]
Thorsten Berger, Steven She, Rafael Lotufo, Andrzej Wasowski, and Krzysztof Czarnecki. 2013. A Study of Variability Models and Languages in the Systems Software Domain. IEEE Transactions on Software Engineering 39, 12 (2013), 1611– 1640.
[15]
Jan Bosch. 2009. From Software Product Lines to Software Ecosystems. In SPLC.
[16]
Muffy Calder, Mario Kolberg, Evan H Magill, and Stephan Reiff-Marganiec. 2003. Feature interaction: a critical review and considered forecast. Computer Networks 41, 1 (2003), 115–141.
[17]
Gary Chastek, Patrick Donohoe, Kyo Chul Kang, and Steffen Thiel. 2001. Product line analysis: a practical introduction. Technical Report CMU/SEI-2001-TR-001.
[18]
Andreas Classen, Patrick Heymans, and Pierre-Yves Schobbens. 2008. What’s in a Feature: A Requirements Engineering Perspective. In FASE.
[19]
Andreas Classen, Patrick Heymans, Pierre-Yves Schobbens, Axel Legay, and Jean-François Raskin. 2010. Model Checking Lots of Systems: Efficient Verification of Temporal Properties in Software Product Lines. In ICSE.
[20]
Paul Clements and Linda Northrop. 2001. Software Product Lines: Practices and Patterns. Addison-Wesley.
[21]
Myra B Cohen, Matthew B Dwyer, and Jiangfan Shi. 2007. Interaction testing of highly-configurable systems in the presence of constraints. In ISSTA.
[22]
Juliet M Corbin and Anselm Strauss. 1990. Grounded theory research: Procedures, canons, and evaluative criteria. Qualitative sociology 13, 1 (1990), 3–21.
[23]
Krzysztof Czarnecki, Paul Grünbacher, Rick Rabiser, Klaus Schmid, and Andrzej Wąsowski. 2012. Cool Features and Tough Decisions: A Comparison of Variability Modeling Approaches. In VAMOS.
[24]
Yael Dubinsky, Julia Rubin, Thorsten Berger, Slawomir Duszynski, Martin Becker, and Krzysztof Czarnecki. 2013. An Exploratory Study of Cloning in Industrial Software Product Lines. In CSMR.
[25]
Emelie Engström and Per Runeson. 2011. Software product line testing—a systematic mapping study. Information and Software Technology 53, 1 (2011), 2–13.
[26]
Joel Greenyer, Amir Molzam Sharifloo, Maxime Cordy, and Patrick Heymans. 2013. Features meet scenarios: modeling and consistency-checking scenariobased product line specifications. Requirements Engineering 18, 2 (2013), 175–198.
[27]
Jianmei Guo, Dingyu Yang, Norbert Siegmund, Sven Apel, Atrisha Sarkar, Pavel Valov, Krzysztof Czarnecki, Andrzej Wasowski, and Huiqun Yu. 2018. Dataefficient performance learning for configurable systems. Empirical Software Engineering 23, 3 (2018), 1826–1867.
[28]
Axel Halin, Alexandre Nuttinck, Mathieu Acher, Xavier Devroey, Gilles Perrouin, and Benoit Baudry. 2017. Test them all, is it worth it? A ground truth comparison of configuration sampling strategies. arXiv preprint arXiv:1710.07980 (2017).
[29]
Praveen Jayaraman, Jon Whittle, Ahmed M Elkhodary, and Hassan Gomaa. 2007. Model Composition in Product Lines and Feature Interaction Detection using critical pair analysis. In MODELS.
[30]
Kyo Kang, Sholom Cohen, James Hess, William Nowak, and Spencer Peterson. 1990. Feature-Oriented Domain Analysis (FODA) Feasibility Study. Technical Report CMU/SEI-90-TR-21.
[31]
Christian Kästner, Sven Apel, Thomas Thüm, and Gunter Saake. 2012. Type Checking Annotation-based Product Lines. ACM Transactions on Software Engineering and Methodology 21, 3 (July 2012), 14:1–14:39.
[32]
Christian Kästner, Paolo G. Giarrusso, Tillmann Rendel, Sebastian Erdweg, Klaus Ostermann, and Thorsten Berger. 2011. Variability-Aware Parsing in the Presence of Lexical Macros and Conditional Compilation. In OOPSLA.
[33]
Alexander Knüppel, Thomas Thüm, Stephan Mennicke, Jens Meinicke, and Ina Schaefer. 2017. Is There a Mismatch Between Real-world Feature Models and Product-line Research?. In ESEC/FSE.
[34]
Christian Kröher, Sascha El-Sharkawy, and Klaus Schmid. 2018. KernelHaven: An Experimentation Workbench for Analyzing Software Product Lines. In ICSE.
[35]
Charles W. Krueger. 2006. New Methods in Software Product Line Practice. Commun. ACM 49, 12 (Dec. 2006), 37–40.
[36]
Jacob Krüger, Wanzi Gu, Hui Shen, Mukelabai Mukelabai, Regina Hebig, and Thorsten Berger. 2018. Towards a Better Understanding of Software Features and Their Characteristics: A Case Study of Marlin. In VaMoS.
[37]
Kim Lauenroth, Klaus Pohl, and Simon Toehning. 2009. Model Checking of Domain Artifacts in Product Line Engineering. In ASE.
[38]
Duc Minh Le, Hyesun Lee, Kyo Chul Kang, and Lee Keun. 2013. Validating Consistency Between a Feature Model and its Implementation. In ICSR.
[39]
Jihyun Lee, Sungwon Kang, and Danhyung Lee. 2012. A Survey on Software Product Line Testing. In SPLC.
[40]
Jorg Liebig, Sven Apel, Christian Lengauer, Christian Kästner, and Michael Schulze. 2010. An Analysis of the Variability in Forty Preprocessor-Based Software Product Lines. In ICSE.
[41]
Jörg Liebig, Christian Kästner, and Sven Apel. 2011. Analyzing the Discipline of Preprocessor Annotations in 30 Million Lines of C Code. In AOSD.
[42]
Jörg Liebig, Alexander von Rhein, Christian Kästner, Sven Apel, Jens Dorre, and Christian Lengauer. 2012. Large-Scale Variability-Aware Type Checking and Dataflow Analysis. Technical Report MIP-1212.
[43]
Jörg Liebig, Alexander von Rhein, Christian Kästner, Sven Apel, Jens Dörre, and Christian Lengauer. 2013. Scalable Analysis of Variable Software. In ESE/FSE.
[44]
Lukas Linsbauer, Thorsten Berger, and Paul Grünbacher. 2017. A Classification of Variation Control Systems. In GPCE.
[45]
Flávio Medeiros, Christian Kästner, Márcio Ribeiro, Rohit Gheyi, and Sven Apel. 2016. A Comparison of 10 Sampling Algorithms for Configurable Systems. In ICSE.
[46]
Jens Meinicke, Thomas Thüm, Reimar Schröter, Fabian Benduhn, and Gunter Saake. 2014. An Overview on Analysis Tools for Software Product Lines. In SPLat.
[47]
Jan Midtgaard, Claus Brabrand, and Andrzej Wasowski. 2014. Systematic Derivation of Static Analyses for Software Product Lines. In MODULARITY.
[48]
Sarah Nadi, Thorsten Berger, Christian Kästner, and Krzysztof Czarnecki. 2014. Mining Configuration Constraints: Static Analyses and Empirical Results. In ICSE.
[49]
Sarah Nadi, Thorsten Berger, Christian Kästner, and Krzysztof Czarnecki. 2014. Mining Configuration Constraints: Static Analyses and Empirical Results. In ICSE.
[50]
Sarah Nadi, Thorsten Berger, Christian Kästner, and Krzysztof Czarnecki. 2015. Where do Configuration Constraints Stem From? An Extraction Approach and an Empirical Study. IEEE Transactions on Software Engineering 41, 8 (2015), 820–841.
[51]
Paulo Anselmo da Mota Silveira Neto, Ivan do Carmo Machado, John D McGregor, Eduardo Santana De Almeida, and Silvio Romero de Lemos Meira. 2011. A systematic mapping study of software product lines testing. Information and Software Technology 53, 5 (2011), 407–423.
[52]
Leonardo Passos, Jianmei Guo, Leopoldo Teixeira, Krzysztof Czarnecki, Andrzej Wąsowski, and Paulo Borba. 2013. Coevolution of Variability Models and Related Artifacts: A Case Study from the Linux Kernel. In SPLC.
[53]
Gilles Perrouin, Sagar Sen, Jacques Klein, Benoit Baudry, and Yves Le Traon. 2010. Automated and scalable t-wise test case generation strategies for software product lines. In ICST.
[54]
Rodrigo Queiroz, Thorsten Berger, and Krzysztof Czarnecki. 2016. Towards Predicting Feature Defects in Software Product Lines. In FOSD.
[55]
Sacha Reis, Andreas Metzger, and Klaus Pohl. 2006. A reuse technique for performance testing of software product lines. In SPLiT.
[56]
Andreas Reuys, Sacha Reis, Erik Kamsties, and Klaus Pohl. 2006. The scented method for testing software product lines. In Software Product Lines. Springer, 479–520.
[57]
Alcemir Rodrigues Santos, Raphael Pereira de Oliveira, and Eduardo Santana de Almeida. 2015. Strategies for Consistency Checking on Software Product Lines: A Mapping Study. In EASE.
[58]
Florian Sattler, Alexander von Rhein, Thorsten Berger, Niklas Schalck Johansson, Mikael Mark Hardø, and Sven Apel. 2018. Lifting Inter-App Data-Flow Analysis ASE ’18, September 3–7, 2018, Montpellier, France Mukelabai, Nešić, Maro, Berger, and Steghöfer to Large App Sets. Automated Software Engineering 25 (jun 2018), 315–346. Issue 2.
[59]
Tonny Kurniadi Satyananda, Danhyung Lee, and Sungwon Kang. 2007. Formal Verification of Consistency Between Feature Model and Software Architecture in Software Product Line. In ICSEA.
[60]
Klaus Schmid, Rick Rabiser, and Paul Grünbacher. 2011. A comparison of decision modeling approaches in product lines. In VaMoS.
[61]
Mirjam Steger, Christian Tischer, Birgit Boss, Andreas Müller, Oliver Pertler, Wolfgang Stolz, and Stefan Ferber. 2004. Introducing PLA at Bosch Gasoline Systems: Experiences and Practices. In SPLC.
[62]
Anselm Strauss and Juliet Corbin. 1990. Open Coding. Basics of Qualitative Research: Grounded Theory Procedures and Techniques 2 (1990), 101–121.
[63]
Reinhard Tartler, Daniel Lohmann, Julio Sincero, and Wolfgang Schröder-Preikschat. 2011. Feature Consistency in Compile-Time-Configurable System Software: Facing the Linux 10,000 Feature Problem. In EuroSys.
[64]
Reinhard Tartler, Julio Sincero, Christian Dietrich, Wolfgang Schröder-Preikschat, and Daniel Lohmann. 2012. Revealing and repairing configuration inconsistencies in large-scale system software. International Journal on Software Tools for Technology Transfer 14, 5 (2012), 531–551.
[65]
The Authors. 2018. Online Appendix. https://sites.google.com/view/planalysis/.
[66]
Thomas Thüm, Sven Apel, Christian Kästner, Ina Schaefer, and Gunter Saake. 2014. A classification and survey of analysis strategies for software product lines. Comput. Surveys 47, 1 (June 2014), 6:1–6:45.
[67]
Thomas Thum, Don Batory, and Christian Kastner. 2009. Reasoning about edits to feature models. In ICSE.
[68]
Thomas Thüm, Ina Schaefer, Sven Apel, and Martin Hentschel. 2012. Familybased Deductive Verification of Software Product Lines. In GPCE.
[69]
Frank J. van der Linden, Klaus Schmid, and Eelco Rommes. 2007. Software Product Lines in Action: The Best Industrial Practice in Product Line Engineering. Springer.
[70]
Michael Vierhauser, Paul Grünbacher, Wolfgang Heider, Gerald Holl, and Daniela Lettner. 2012. Applying a Consistency Checking Framework for Heterogeneous Models and Artifacts in Industrial Product Lines. In MODELS.
[71]
Bo Zhang, Martin Becker, Thomas Patzke, Krzysztof Sierszecki, and Juha Erik Savolainen. 2013. Variability Evolution and Erosion in Industrial Product Lines: A Case Study. In SPLC.

Cited By

View all
  • (2024)Feature-oriented Test Case Prioritization Strategies: An Evaluation for Highly Configurable SystemsProceedings of the 28th ACM International Systems and Software Product Line Conference10.1145/3646548.3672592(72-83)Online publication date: 2-Sep-2024
  • (2024)Not Quite There Yet: Remaining Challenges in Systems and Software Product Line Engineering as Perceived by Industry PractitionersProceedings of the 28th ACM International Systems and Software Product Line Conference10.1145/3646548.3672587(179-190)Online publication date: 2-Sep-2024
  • (2024)Impact of JVM Configurations on Test Runtime2024 IEEE International Conference on Software Maintenance and Evolution (ICSME)10.1109/ICSME58944.2024.00032(249-261)Online publication date: 6-Oct-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ASE '18: Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering
September 2018
955 pages
ISBN:9781450359375
DOI:10.1145/3238147
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 03 September 2018

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Analysis
  2. Highly Configurable Systems
  3. Product Lines

Qualifiers

  • Research-article

Funding Sources

Conference

ASE '18
Sponsor:

Acceptance Rates

Overall Acceptance Rate 82 of 337 submissions, 24%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)19
  • Downloads (Last 6 weeks)0
Reflects downloads up to 05 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Feature-oriented Test Case Prioritization Strategies: An Evaluation for Highly Configurable SystemsProceedings of the 28th ACM International Systems and Software Product Line Conference10.1145/3646548.3672592(72-83)Online publication date: 2-Sep-2024
  • (2024)Not Quite There Yet: Remaining Challenges in Systems and Software Product Line Engineering as Perceived by Industry PractitionersProceedings of the 28th ACM International Systems and Software Product Line Conference10.1145/3646548.3672587(179-190)Online publication date: 2-Sep-2024
  • (2024)Impact of JVM Configurations on Test Runtime2024 IEEE International Conference on Software Maintenance and Evolution (ICSME)10.1109/ICSME58944.2024.00032(249-261)Online publication date: 6-Oct-2024
  • (2023)Feature-oriented Test Case Selection during Evolution of Highly-Configurable SystemsProceedings of the 27th ACM International Systems and Software Product Line Conference - Volume A10.1145/3579027.3608979(76-86)Online publication date: 28-Aug-2023
  • (2023)FeatRacer: Locating Features Through Assisted TraceabilityIEEE Transactions on Software Engineering10.1109/TSE.2023.332471949:12(5060-5083)Online publication date: Dec-2023
  • (2023)Hints in Unified Combinatorial Interaction Testing2023 IEEE International Conference on Software Testing, Verification and Validation Workshops (ICSTW)10.1109/ICSTW58534.2023.00047(223-227)Online publication date: Apr-2023
  • (2023)Test Selection for Unified Regression Testing2023 IEEE/ACM 45th International Conference on Software Engineering (ICSE)10.1109/ICSE48619.2023.00145(1687-1699)Online publication date: May-2023
  • (2023)Testing of highly configurable cyber–physical systems — Results from a two-phase multiple case studyJournal of Systems and Software10.1016/j.jss.2023.111624199(111624)Online publication date: May-2023
  • (2023)Visualizations for the evolution of Variant-Rich SystemsInformation and Software Technology10.1016/j.infsof.2022.107084154:COnline publication date: 20-Jan-2023
  • (2022)Test2FeatureProceedings of the 26th ACM International Systems and Software Product Line Conference - Volume B10.1145/3503229.3547031(62-65)Online publication date: 12-Sep-2022
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media