skip to main content
10.1145/3307630.3342414acmotherconferencesArticle/Chapter ViewAbstractPublication PagessplcConference Proceedingsconference-collections
research-article

Towards Efficient Analysis of Variation in Time and Space

Published: 09 September 2019 Publication History

Abstract

Variation is central to today's software development. There are two fundamental dimensions to variation: Variation in time refers to the fact that software exists in numerous revisions that typically replace each other (i.e., a newer version supersedes an older one). Variation in space refers to differences among variants that are designed to coexist in parallel. There are numerous analyses to cope with variation in space (i.e., product-line analyses) and others that cope with variation in time (i.e., regression analyses). The goal of this work is to discuss to which extent product-line analyses can be applied to revisions and, conversely, where regression analyses can be applied to variants. In addition, we discuss challenges related to the combination of product-line and regression analyses. The overall goal is to increase the efficiency of analyses by exploiting the inherent commonality between variants and revisions.

References

[1]
Iago Abal, Jean Melo, Stefan Stănciulescu, Claus Brabrand, Márcio Ribeiro, and Andrzej Wąsowski. 2018. Variability Bugs in Highly Configurable Systems: A Qualitative Analysis. Trans. Software Engineering and Methodology (TOSEM) 26, 3, Article 10 (2018), 10:1--10:34 pages.
[2]
Bestoun S. Ahmed, Kamal Z. Zamli, Wasif Afzal, and Miroslav Bures. 2017. Constrained Interaction Testing: A Systematic Literature Study. IEEE Access 5 (2017), 25706--25730.
[3]
Mustafa Al-Hajjaji, Sascha Lity, Remo Lachmann, Thomas Thüm, Ina Schaefer, and Gunter Saake. 2017. Delta-Oriented Product Prioritization for Similarity-Based Product-Line Testing. In Proc. Int'l Workshop on Variability and Complexity in Software Design (VACE). IEEE, 34--40.
[4]
Nauman bin Ali, Emelie Engström, Masoumeh Taromirad, Mohammad Reza Mousavi, Nasir Mehmood Minhas, Daniel Helgesson, Sebastian Kunze, and Mahsa Varshosaz. 2019. On the Search for Industry-Relevant Regression Testing Research. Empirical Software Engineering (12 Feb 2019).
[5]
Vander Alves, Rohit Gheyi, Tiago Massoni, Uirá Kulesza, Paulo Borba, and Carlos José Pereira de Lucena. 2006. Refactoring Product Lines. In Proc. Int'l Conf. on Generative Programming and Component Engineering (GPCE). ACM, 201--210.
[6]
Sven Apel, Don Batory, Christian Kästner, and Gunter Saake. 2013. Feature-Oriented Software Product Lines. Springer.
[7]
Steven Arzt and Eric Bodden. 2014. Reviser: Efficiently Updating IDE-/IFDS-based Data-flow Analyses in Response to Incremental Program Changes. In Proceedings of the 36th International Conference on Software Engineering (ICSE 2014). ACM, New York, NY, USA, 288--298.
[8]
Paulo Borba, Leopoldo Teixeira, and Rohit Gheyi. 2012. A Theory of Software Product Line Refinement. Theoretical Computer Science 455, 0 (2012), 2--30.
[9]
Larissa Braz, Rohit Gheyi, Melina Mongiovi, Márcio Ribeiro, Flávio Medeiros, Leopoldo Teixeira, and Sabrina Souto. 2018. A Change-Aware Per-File Analysis to Compile Configurable Systems with #ifdefs. Computer Languages, Systems & Structures 54 (2018), 427--450.
[10]
Johannes Bürdek, Timo Kehrer, Malte Lochau, Dennis Reuling, Udo Kelter, and Andy Schürr. 2015. Reasoning about Product-Line Evolution Using Complex Feature Model Differences. Automated Software Engineering 23, 4 (2015), 687--733.
[11]
Sheng Chen, Martin Erwig, and Eric Walkingshaw. 2014. Extending Type Inference to Variational Programs. ACM Trans. Programming Languages and Systems (TOPLAS) 36, 1, Article 1 (2014), 1:1--1:54 pages.
[12]
Reidar Conradi and Bernhard Westfechtel. 1998. Version Models for Software Configuration Management. Comput. Surveys 30, 2 (1998), 232--282.
[13]
Regis Crelier. 1994. Separate Compilation and Module Extension. Ph.D. Dissertation. Institute for Computer Systems, ETH Zurich. ftp://ftp.inf.ethz.ch/doc/diss/th10650.ps.gz
[14]
Krzysztof Czarnecki and Ulrich Eisenecker. 2000. Generative Programming: Methods, Tools, and Applications. ACM/Addison-Wesley.
[15]
Krzysztof Czarnecki, Simon Helsen, and Ulrich Eisenecker. 2005. Staged Configuration through Specialization and Multi-Level Configuration of Feature Models. Software Process: Improvement and Practice 10, 2 (2005), 143--169.
[16]
Nicolas Dintzner, Arie van Deursen, and Martin Pinzger. 2018. FEVER: An Approach to Analyze Feature-Oriented Changes and Artefact Co-Evolution in Highly Configurable Systems. Empirical Software Engineering (EMSE) 23, 2 (2018), 905--952.
[17]
Sascha El-Sharkawy, Adam Krafczyk, and Klaus Schmid. 2017. An Empirical Study of Configuration Mismatches in Linux. In Proc. Int'l Systems and Software Product Line Conf. (SPLC). ACM, 19--28.
[18]
Martin Erwig and Eric Walkingshaw. 2011. The Choice Calculus: A Representation for Software Variation. Trans. Software Engineering and Methodology (TOSEM) 21, 1, Article 6 (2011), 6:1--6:27 pages.
[19]
Dennis Felsing, Sarah Grebing, Vladimir Klebanov, Philipp Rümmer, and Mattias Ulbrich. 2014. Automating Regression Verification. In Proc. Int'l Conf. on Automated Software Engineering (ASE). ACM, New York, NY, USA, 349--360.
[20]
Moritz Flöter. 2018. Prototypical Realization and Validation of an Incremental Software Product Line Analysis Approach.
[21]
Paul Gazzillo. 2017. Kmax: Finding All Configurations of Kbuild Makefiles Statically. In Proc. Europ. Software Engineering Conf./Foundations of Software Engineering (ESEC/FSE). ACM, 279--290.
[22]
Paul Gazzillo and Robert Grimm. 2012. SuperC: Parsing All of C by Taming the Preprocessor. In Proc. ACM SIGPLAN Conf. on Programming Language Design and Implementation (PLDI). ACM, 323--334.
[23]
Benny Godlin and Ofer Strichman. 2009. Regression Verification. In Proceedings of the 46th Annual Design Automation Conference (DAC '09). ACM, New York, NY, USA, 466--471.
[24]
Wolfgang Heider, Rick Rabiser, Paul Grünbacher, and Daniela Lettner. 2012. Using Regression Testing to Analyze the Impact of Changes to Variability Models on Products. In Proc. Int'l Systems and Software Product Line Conf. (SPLC). ACM, 196--205.
[25]
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 Proc. Conf. on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA). ACM, 805--824.
[26]
Christian Kästner, Klaus Ostermann, and Sebastian Erdweg. 2012. A Variability-Aware Module System. In Proc. Conf. on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA). ACM, 773--792.
[27]
Andy Kenner, Christian Kästner, Steffen Haase, and Thomas Leich. 2010. TypeChef: Toward Type Checking #Ifdef Variability in C. In Proc. Int'l Workshop on Feature-Oriented Software Development (FOSD). ACM, 25--32.
[28]
Christian Kröher, Lea Gerling, and Klaus Schmid. 2018. Identifying the Intensity of Variability Changes in Software Product Line Evolution. In Proceedings of the 22Nd International Systems and Software Product Line Conference - Volume 1 (SPLC '18). ACM, New York, NY, USA, 54--64.
[29]
Jörg Liebig, Alexander von Rhein, Christian Kästner, Sven Apel, Jens Dörre, and Christian Lengauer. 2013. Scalable Analysis of Variable Software. In Proc. Europ. Software Engineering Conf./Foundations of Software Engineering (ESEC/FSE). ACM, 81--91.
[30]
Sascha Lity, Mustafa Al-Hajjaji, Thomas Thüm, and Ina Schaefer. 2017. Optimizing Product Orders Using Graph Algorithms for Improving Incremental Product-line Analysis. In Proc. Int'l Workshop on Variability Modelling of Software-Intensive Systems (VaMoS). ACM, 60--67.
[31]
Sascha Lity, Matthias Kowal, and Ina Schaefer. 2016. Higher-Order Delta Modeling for Software Product Line Evolution. In Proceedings of the 7th International Workshop on Feature-Oriented Software Development (FOSD 2016). ACM, New York, NY, USA, 39--48.
[32]
Sascha Lity, Malte Lochau, Ina Schaefer, and Ursula Goltz. 2012. Delta-Oriented Model-based SPL Regression Testing. In Proceedings of the Third International Workshop on Product LinE Approaches in Software Engineering (PLEASE '12). IEEE Press, Piscataway, NJ, USA, 53--56. http://dl.acm.org/citation.cfm?id=2666064.2666078
[33]
Sascha Lity, Sophia Nahrendorf, Thomas Thüm, Christoph Seidl, and Ina Schaefer. 2018. 175% Modeling for Product-Line Evolution of Domain Artifacts. In Proc. Int'l Workshop on Variability Modelling of Software-Intensive Systems (VaMoS). ACM, 27--34.
[34]
Sascha Lity, Manuel Nieke, Thomas Thüm, and Ina Schaefer. 2019. Retest Test Selection for Product-Line Regression Testing of Variants and Versions of Variants. J. Systems and Software (JSS) 147 (2019), 46--63.
[35]
Jan Midtgaard, Aleksandar S. Dimovski, Claus Brabrand, and Andrzej Wąsowski. 2015. Systematic Derivation of Correct Variability-Aware Program Analyses. Sci. Comput. Program. 105, C (July 2015), 145--170.
[36]
Mukelabai Mukelabai, Damir Nesic, Salome Maro, Thorsten Berger, and Jan-Philipp Steghöfer. 2018. Tackling Combinatorial Explosion: A Study of Industrial Needs and Practices for Analyzing Highly Configurable Systems. In Proc. Int'l Conf. on Automated Software Engineering (ASE). ACM, 155--166.
[37]
Tobias Pett. 2018. Stability of Product Sampling under Product-Line Evolution. Master's thesis. TU Braunschweig, Germany.
[38]
Tobias Pett, Thomas Thüm, Tobias Runge, Sebastian Krieter, Malte Lochau, and Ina Schaefer. 2019. Product Sampling for Product Lines: The Scalability Challenge. In Proc. Int'l Systems and Software Product Line Conf. (SPLC). ACM. To appear.
[39]
Christopher Pietsch, Timo Kehrer, Udo Kelter, Dennis Reuling, and Manuel Ohrndorf. 2015. SiPL-A Delta-Based Modeling Framework for Software Product Line Engineering. In International Conference on Automated Software Engineering. IEEE, 852--857.
[40]
Christopher Pietsch, Udo Kelter, Timo Kehrer, and Christoph Seidl. 2019. Formal Foundations for Analyzing and Refactoring Delta-Oriented Model-Based Software Product Lines. In Proc. Int'l Systems and Software Product Line Conf. (SPLC). ACM. To appear.
[41]
Hendrik Post and Carsten Sinz. 2008. Configuration Lifting: Verification Meets Software Configuration. In Proc. Int'l Conf. on Automated Software Engineering (ASE). IEEE, 347--350.
[42]
Gabriela Sampaio, Paulo Borba, and Leopoldo Teixeira. 2016. Partially Safe Evolution of Software Product Lines. In Proc. Int'l Systems and Software Product Line Conf. (SPLC). ACM, 124--133.
[43]
Reimar Schröter, Sebastian Krieter, Thomas Thüm, Fabian Benduhn, and Gunter Saake. 2016. Feature-Model Interfaces: The Highway to Compositional Analyses of Highly-Configurable Systems. In Proc. Int'l Conf. on Software Engineering (ICSE). ACM, 667--678.
[44]
Sandro Schulze, Oliver Richers, and Ina Schaefer. 2013. Refactoring Delta-Oriented Software Product Lines. In International Conference on Aspect-Oriented Software Development. ACM, 73--84.
[45]
Tamás Szabó, Sebastian Erdweg, and Markus Voelter. 2016. IncA: A DSL for the Definition of Incremental Program Analyses. In Proceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering (ASE 2016). ACM, New York, NY, USA, 320--331.
[46]
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 Proc. Europ. Conf. on Computer Systems (EuroSys). ACM, 47--60.
[47]
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 (2014), 6:1--6:45.
[48]
Thomas Thüm, Don Batory, and Christian Kästner. 2009. Reasoning about Edits to Feature Models. In Proc. Int'l Conf. on Software Engineering (ICSE). IEEE, 254--264.
[49]
Thomas Thüm, Christian Kästner, Sebastian Erdweg, and Norbert Siegmund. 2011. Abstract Features in Feature Modeling. In Proc. Int'l Systems and Software Product Line Conf. (SPLC). IEEE, 191--200.
[50]
Thomas Thüm, André van Hoorn, Sven Apel, Johannes Bürdek, Sinem Getir, Robert Heinrich, Reiner Jung, Matthias Kowal, Malte Lochau, Ina Schaefer, and Jürgen Walter. 2019. Performance Analysis Strategies for Software Variants and Versions. In Design for Future---Managed Software Evolution. Springer, Berlin, Heidelberg. To appear.
[51]
Thomas Thüm, Tim Winkelmann, Reimar Schröter, Martin Hentschel, and Stefan Krüger. 2016. Variability Hiding in Contracts for Dependent Software Product Lines. In Proc. Int'l Workshop on Variability Modelling of Software-Intensive Systems (VaMoS). ACM, 97--104.
[52]
Mahsa Varshosaz, Mustafa Al-Hajjaji, Thomas Thüm, Tobias Runge, Mohammad Reza Mousavi, and Ina Schaefer. 2018. A Classification of Product Sampling for Software Product Lines. In Proc. Int'l Systems and Software Product Line Conf. (SPLC). ACM, 1--13.
[53]
Alexander von Rhein, Sven Apel, Christian Kästner, Thomas Thüm, and Ina Schaefer. 2013. The PLA Model: On the Combination of Product-Line Analyses. In Proc. Int'l Workshop on Variability Modelling of Software-Intensive Systems (VaMoS). ACM, 14:1--14:8.
[54]
Shin Yoo and Mark Harman. 2012. Regression Testing Minimization, Selection and Prioritization: A Survey. Software Testing, Verification and Reliability (STVR) 22, 2 (2012), 67--120.

Cited By

View all
  • (2024)Multi-Version Decision Propagation for Configuring Feature Models in Space and TimeProceedings of the 28th ACM International Systems and Software Product Line Conference10.1145/3646548.3676550(88-92)Online publication date: 2-Sep-2024
  • (2024)Should I Bother? Fast Patch Filtering for Statically-Configured Software VariantsProceedings of the 28th ACM International Systems and Software Product Line Conference10.1145/3646548.3672585(12-23)Online publication date: 2-Sep-2024
  • (2023)Views on Edits to Variational SoftwareProceedings of the 27th ACM International Systems and Software Product Line Conference - Volume A10.1145/3579027.3608985(141-152)Online publication date: 28-Aug-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
SPLC '19: Proceedings of the 23rd International Systems and Software Product Line Conference - Volume B
September 2019
252 pages
ISBN:9781450366687
DOI:10.1145/3307630
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 the author(s) 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].

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 09 September 2019

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. product-line analysis
  2. regression analysis
  3. software configuration management
  4. software evolution
  5. software product lines
  6. software variation
  7. variability management
  8. variability-aware analysis

Qualifiers

  • Research-article

Funding Sources

  • Fundação de Amparo à Ciência e Tecnologia do Estado de Pernambuco
  • Science Foundation Ireland
  • CNPq
  • German Ministry of Research and Education
  • Deutsche Forschungsgemeinschaft

Conference

SPLC 2019

Acceptance Rates

Overall Acceptance Rate 167 of 463 submissions, 36%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)19
  • Downloads (Last 6 weeks)5
Reflects downloads up to 17 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Multi-Version Decision Propagation for Configuring Feature Models in Space and TimeProceedings of the 28th ACM International Systems and Software Product Line Conference10.1145/3646548.3676550(88-92)Online publication date: 2-Sep-2024
  • (2024)Should I Bother? Fast Patch Filtering for Statically-Configured Software VariantsProceedings of the 28th ACM International Systems and Software Product Line Conference10.1145/3646548.3672585(12-23)Online publication date: 2-Sep-2024
  • (2023)Views on Edits to Variational SoftwareProceedings of the 27th ACM International Systems and Software Product Line Conference - Volume A10.1145/3579027.3608985(141-152)Online publication date: 28-Aug-2023
  • (2023)Performance evolution of configurable software systems: an empirical studyEmpirical Software Engineering10.1007/s10664-023-10338-328:6Online publication date: 13-Nov-2023
  • (2022)A conceptual model for unifying variability in space and time: Rationale, validation, and illustrative applicationsEmpirical Software Engineering10.1007/s10664-021-10097-z27:5Online publication date: 1-Sep-2022
  • (2021)The life cycle of features in highly-configurable software systems evolving in space and timeProceedings of the 20th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences10.1145/3486609.3487195(2-15)Online publication date: 17-Oct-2021
  • (2021)Feature trace recordingProceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3468264.3468531(1007-1020)Online publication date: 20-Aug-2021
  • (2021)Consistent management of variability in space and timeProceedings of the 25th ACM International Systems and Software Product Line Conference - Volume B10.1145/3461002.3473067(7-12)Online publication date: 6-Sep-2021
  • (2021)From pairwise to family-based generic analysis of delta-oriented model-based SPLsProceedings of the 25th ACM International Systems and Software Product Line Conference - Volume A10.1145/3461001.3471150(13-24)Online publication date: 6-Sep-2021
  • (2021)Managing systems evolving in space and timeProceedings of the 25th ACM International Systems and Software Product Line Conference - Volume A10.1145/3461001.3461660(75-80)Online publication date: 6-Sep-2021
  • 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

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media