skip to main content
10.1145/3382026.3425769acmconferencesArticle/Chapter ViewAbstractPublication PagessplcConference Proceedingsconference-collections
research-article

GuyDance: Guiding Configuration Updates for Product-Line Evolution

Published: 27 October 2020 Publication History

Abstract

A product line is an approach for systematically managing configuration options of customizable systems, usually by means of features. Products are generated by utilizing configurations consisting of selected features. Product-line evolution can lead to unintended changes to product behavior. We illustrate that updating configurations after product-line evolution requires decisions of both, domain engineers responsible for product-line evolution as well as application engineers responsible for configurations. The challenge is that domain and application engineers might not be able to talk to each other. We propose a formal foundation and a methodology that enables domain engineers to guide application engineers through configuration evolution by sharing knowledge on product-line evolution and by defining configuration update operations. As an effect, we enable knowledge transfer between those engineers without the need to talk to each other. We evaluate our method by providing formal proofs that show product behavior of configurations can be preserved for typical evolution scenarios.

References

[1]
Vander Alves, Rohit Gheyi, Tiago Massoni, Uirá Kulesza, Paulo Borba, and Carlos José Pereira de Lucena. 2006. Refactoring product lines. In Generative Programming and Component Engineering, 5th International Conference, GPCE 2006, Portland, Oregon, USA, October 22-26, 2006, Proceedings. 201--210. https://doi.org/10.1145/1173706.1173737
[2]
Sven Apel, Don Batory, Christian Kästner, and Gunter Saake. 2013. Feature-oriented software product lines: concepts and implementation. Springer Science & Business Media.
[3]
Thorsten Berger, Divya Nair, Ralf Rublack, Joanne M. Atlee, Krzysztof Czarnecki, and Andrzej Wąsowski. 2014. Three Cases of Feature-Based Variability Modeling in Industry. In Model-Driven Engineering Languages and Systems, Juergen Dingel, Wolfram Schulte, Isidro Ramos, Silvia Abrahão, and Emilio Insfran (Eds.). Springer International Publishing, Cham, 302--319.
[4]
Paulo Borba, Leopoldo Teixeira, and Rohit Gheyi. 2012. A theory of software product line refinement. Theoretical Computer Science 455 (2012), 2--30.
[5]
J. Bosch. 2001. Software product lines: organizational alternatives. In Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001. 91--100. https://doi.org/10.1109/ICSE.2001.919084
[6]
Johannes Bürdek, Timo Kehrer, Malte Lochau, Dennis Reuling, Udo Kelter, and Andy Schürr. 2016. Reasoning about product-line evolution using complex feature model differences. Automated Software Engineering 23, 4 (2016), 687--733.
[7]
Krzysztof Czarnecki, Ulrich Eisenecker, Robert Glück, David Vandevoorde, and Todd Veldhuizen. 2000. Generative programming and active libraries. In Generic Programming. Springer, 25--39.
[8]
Nicolas Dintzner, Arie van Deursen, and Martin Pinzger. 2017. FEVER: An approach to analyze feature-oriented changes and artefact co-evolution in highly configurable systems. Empirical Software Engineering (04 Nov 2017). https://doi.org/10.1007/s10664-017-9557-6
[9]
Karine Gomes, Leopoldo Teixeira, Thayonara Alves, Márcio Ribeiro, and Rohit Gheyi. 2019. Characterizing Safe and Partially Safe Evolution Scenarios in Product Lines: An Empirical Study. In Proceedings of the 13th International Workshop on Variability Modelling of Software-Intensive Systems (Leuven, Belgium) (VAMOS '19). Association for Computing Machinery, New York, NY, USA, Article Article 15, 9 pages. https://doi.org/10.1145/3302333.3302346
[10]
Kyo C Kang, Sholom G Cohen, James A Hess, William E Novak, and A Spencer Peterson. 1990. Feature-oriented domain analysis (FODA) feasibility study. Technical Report. Carnegie-Mellon Univ Pittsburgh Pa Software Engineering Inst.
[11]
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 (Gothenburg, Sweden) (SPLC '18). Association for Computing Machinery, New York, NY, USA, 54--64. https://doi.org/10.1145/3233027.3233032
[12]
Mukelabai Mukelabai, Damir Nešić, 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 Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering (Montpellier, France) (ASE 2018). ACM, New York, NY, USA, 155--166. https://doi.org/10.1145/3238147.3238201
[13]
Laís Neves, Paulo Borba, Vander Alves, Lucinéia Turnes, Leopoldo Teixeira, Demóstenes Sena, and Uirá Kulesza. 2015. Safe evolution templates for software product lines. Journal of Systems and Software 106 (2015), 42--58. https://doi.org/10.1016/j.jss.2015.04.024
[14]
Michael Nieke, Gil Engel, and Christoph Seidl. 2017. DarwinSPL: An Integrated Tool Suite for Modeling Evolving Context-aware Software Product Lines. In Proceedings of the Eleventh International Workshop on Variability Modelling of Software-intensive Systems (Eindhoven, Netherlands) (VAMOS '17). ACM, New York, NY, USA, 92--99. https://doi.org/10.1145/3023956.3023962
[15]
Michael Nieke, Christoph Seidl, and Sven Schuster. 2016. Guaranteeing Configuration Validity in Evolving Software Product Lines. In Proceedings of the Tenth International Workshop on Variability Modelling of Software-intensive Systems (Salvador, Brazil) (VaMoS '16). ACM, New York, NY, USA, 73--80. https://doi.org/10.1145/2866614.2866625
[16]
Sam Owre, John M Rushby, and Natarajan Shankar. 1992. PVS: A prototype verification system. In International Conference on Automated Deduction. Springer, 748--752.
[17]
Leonardo Passos, Leopoldo Teixeira, Nicolas Dintzner, Sven Apel, Andrzej Wąsowski, Krzysztof Czarnecki, Paulo Borba, and Jianmei Guo. 2016. Coevolution of variability models and related software artifacts. Empirical Software Engineering 21, 4 (2016), 1744--1793. https://doi.org/10.1007/s10664-015-9364-x
[18]
Tobias Pett, Thomas Thüm, Tobias Runge, Sebastian Krieter, Malte Lochau, and Ina Schaefer. 2019. Product Sampling for Product Lines: The Scalability Challenge. In Proceedings of the 23rd International Systems and Software Product Line Conference - Volume A (Paris, France) (SPLC '19). ACM, New York, NY, USA, 78--83. https://doi.org/10.1145/3336294.3336322
[19]
K. Pohl, G. Böckle, and F.J. van der Linden. 2005. Software Product Line Engineering: Foundations, Principles and Techniques. Springer Berlin Heidelberg.
[20]
Henry Gordon Rice. 1953. Classes of recursively enumerable sets and their decision problems. Trans. Amer. Math. Soc. 74, 2 (1953), 358--366.
[21]
Gabriela Sampaio, Paulo Borba, and Leopoldo Teixeira. 2016. Partially Safe Evolution of Software Product Lines. In Proceedings of the 20th International Systems and Software Product Line Conference (Beijing, China) (SPLC '16). ACM, New York, NY, USA, 124--133. https://doi.org/10.1145/2934466.2934482
[22]
Gabriela Sampaio, Paulo Borba, and Leopoldo Teixeira. 2019. Partially safe evolution of software product lines. Journal of Systems and Software 155 (2019), 17--42. https://doi.org/10.1016/j.jss.2019.04.051
[23]
Ina Schaefer, Rick Rabiser, Dave Clarke, Lorenzo Bettini, David Benavides, Goetz Botterweck, Animesh Pathak, Salvador Trujillo, and Karina Villela. 2012. Software diversity: state of the art and perspectives. International Journal on Software Tools for Technology Transfer 14, 5 (01 Oct 2012), 477--495. https://doi.org/10.1007/s10009-012-0253-y
[24]
Sandro Schulze, Oliver Richers, and Ina Schaefer. 2013. Refactoring Delta-oriented Software Product Lines. In Proceedings of the 12th Annual International Conference on Aspect-oriented Software Development (Fukuoka, Japan) (AOSD '13). ACM, New York, NY, USA, 73--84. https://doi.org/10.1145/2451436.2451446
[25]
Sandro Schulze, Thomas Thüm, Martin Kuhlemann, and Gunter Saake. 2012. Variant-preserving Refactoring in Feature-oriented Software Product Lines. In Proceedings of the Sixth International Workshop on Variability Modeling of SoftwareIntensive Systems (Leipzig, Germany) (VaMoS '12). ACM, New York, NY, USA, 73--81. https://doi.org/10.1145/2110147.2110156
[26]
Christoph Seidl, Florian Heidenreich, and Uwe Aßmann. 2012. Co-evolution of Models and Feature Mapping in Software Product Lines. In Proc. of the 16th Intl. Software Product Line Conference (Salvador, Brazil) (SPLC '12). ACM, New York, NY, USA, 76--85. https://doi.org/10.1145/2362536.2362550
[27]
Thomas Thüm, Don Batory, and Christian Kästner. 2009. Reasoning About Edits to Feature Models. In Proceedings of the 31st International Conference on Software Engineering (ICSE '09). IEEE Computer Society, Washington, DC, USA, 254--264. https://doi.org/10.1109/ICSE.2009.5070526
[28]
Thomas Thüm, Christian Kästner, Sebastian Erdweg, and Norbert Siegmund. 2011. Abstract Features in Feature Modeling. In Proceedings of the 2011 15th International Software Product Line Conference (SPLC '11). IEEE Computer Society, Washington, DC, USA, 191--200. https://doi.org/10.1109/SPLC.2011.53
[29]
Thomas Thüm, Sebastian Krieter, and Ina Schaefer. 2018. Product Configuration in the Wild: Strategies for Conflicting Decisions in Web Configurators. In Proceedings of the 20th Configuration Workshop, Graz, Austria, September 27-28, 2018. 1--8.
[30]
Bo Wang, Leonardo Passos, Yingfei Xiong, Krzysztof Czarnecki, Haiyan Zhao, and Wei Zhang. 2013. SmartFixer: Fixing Software Configurations Based on Dynamic Priorities. In Proceedings of the 17th International Software Product Line Conference (Tokyo, Japan) (SPLC '13). ACM, New York, NY, USA, 82--90. https://doi.org/10.1145/2491627.2491640
[31]
J. White, D. C. Schmidt, D. Benavides, P. Trinidad, and A. Ruiz-Cortés. 2008. Automated Diagnosis of Product-Line Configuration Errors in Feature Models. In 2008 12th International Software Product Line Conference. 225--234. https://doi.org/10.1109/SPLC.2008.16
[32]
Yingfei Xiong, Arnaud Hubaux, Steven She, and Krzysztof Czarnecki. 2012. Generating Range Fixes for Software Configuration. In Proceedings of the 34th International Conference on Software Engineering (Zurich, Switzerland) (ICSE '12). IEEE Press, Piscataway, NJ, USA, 58--68. http://dl.acm.org/citation.cfm?id=2337223.2337231
[33]
Tianyin Xu, Jiaqi Zhang, Peng Huang, Jing Zheng, Tianwei Sheng, Ding Yuan, Yuanyuan Zhou, and Shankar Pasupathy. 2013. Do Not Blame Users for Misconfigurations. In Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles (Farminton, Pennsylvania) (SOSP '13). ACM, New York, NY, USA, 244--259. https://doi.org/10.1145/2517349.2522727
[34]
Sai Zhang and Michael D. Ernst. 2014. Which Configuration Option Should I Change?. In Proceedings of the 36th International Conference on Software Engineering (Hyderabad, India) (ICSE 2014). ACM, New York, NY, USA, 152--163. https://doi.org/10.1145/2568225.2568251
[35]
Andreas Ziegler, Valentin Rothberg, and Daniel Lohmann. 2016. Analyzing the Impact of Feature Changes in Linux. In Proceedings of the Tenth International Workshop on Variability Modelling of Software-intensive Systems (Salvador, Brazil) (VaMoS '16). ACM, New York, NY, USA, 25--32. https://doi.org/10.1145/2866614.2866618

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SPLC '20: Proceedings of the 24th ACM International Systems and Software Product Line Conference - Volume B
October 2020
139 pages
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].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 27 October 2020

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. configuration
  2. evolution
  3. software product line

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Funding Sources

  • Bundesministerium für Bildung und Forschung
  • Fundação de Amparo à Ciência e Tecnologia do Estado de Pernambuco
  • Conselho Nacional de Desenvolvimento Científico e Tecnológico
  • Coordenação de Aperfeiçoamento de Pessoal de Nível Superior
  • Instituto Nacional de Ciência e Tecnologia para Engenharia de Software
  • Deutsche Forschungsgemeinschaft

Conference

SPLC '20
Sponsor:

Acceptance Rates

Overall Acceptance Rate 167 of 463 submissions, 36%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)6
  • Downloads (Last 6 weeks)1
Reflects downloads up to 28 Jan 2025

Other Metrics

Citations

Cited By

View all

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