Model-Based Round-Trip Engineering and Testing of Evolving Software Product Lines
This chapter describes a model-based framework for systematic round-trip engineering of continuously evolving software product line implementations. The product-line architecture consists of a feature diagram as configuration model and a preprocessor-based C code implementation comprising all software variants. As quality-assurance methodology, we consider white-box testing, where test suites are automatically generated for product-line implementations with respect to a given set of test goals to be covered on all derivable software variants. The approach employs techniques from meta-modelling and model differencing to uniformly reason about product-line artefact changes and their potential impact on every possible kind of artefact consistency. The approach further combines model differencing, model merging, and regression testing to systematically co-evolve product-line engineering and quality-assurance artefacts accordingly. The approach is illustrated by application scenarios concerning the xPPU case study.
- [Alv+08]Vander Alves et al. “FLiP: Managing Software Product Line Extraction and Reaction with Aspects”. In: Software Product Lines, 12th International Conference, SPLC 2008, Limerick, Ireland, September 8–12, 2008, Proceedings. 2008, p. 354. url: https://doi.org/10.1109/SPLC.2008.51.
- [Bey+04]D. Beyer et al. “Generating tests from counterexamples”. In: Proceedings. 26th International Conference on Software Engineering. 2004, pp. 326–335.Google Scholar
- [Bür+15a]Johannes Bürdek et al. “Facilitating Reuse in Multi-goal Test-Suite Generation for Software Product Lines”. In: Fundamental Approaches to Software Engineering 18th International Conference, FASE 2015, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2015, London, UK, April 11-18, 2015. Proceedings. 2015, pp. 84–99.Google Scholar
- [Bür+15b]Johannes Bürdek et al. “Reasoning about Product-Line Evolution using Complex Feature Model Differences”. In: Automated Software Engineering Special Issue on Long Term Evolution of Software Systems Response(2015).Google Scholar
- [CN01]P. Clements and L. Northrop. Software Product Lines: Practices and Patterns. Addison-Wesley Longman Publishing Co., Inc., 2001.Google Scholar
- [D B+13]D. Beyer et al. “Information Reuse for Multi-goal Reachability Analyses”. In: Proc. ESOP. LNCS 7792. Springer, 2013, pp. 472–491.Google Scholar
- [Loc+14]Malte Lochau et al. “Applying Model-based Software Product Line Testing Approaches to the Automation Engineering Domain”. In: Automatisierungstechnik 62.11 (2014), pp. 771–780.Google Scholar
- [PBL05a]Klaus Pohl, Günter Böckle, and Frank J. van der Linden. Software Product Line Engineering: Foundations, Principles and Techniques. 1st ed. Springer, Aug. 3, 2005. 496 pp. isbn: 978-3-540-24372-4. https://doi.org/10.1007/3-540-28901-1. url: http://www.ebook.de/de/product/4437317/guenter_boeckle_klaus_pohl_frank_j_van_der_linden_software_product_line_engineering.html.CrossRefGoogle Scholar
- [TBK09]T. Thüm, D. Batory, and C. Kästner. “Reasoning about edits to feature models”. In: ICSE. ACM, 2009, pp. 254–264.Google Scholar
- [UL07]Mark Utting and Bruno Legeard. Practical Model-Based Testing. A Tools Approach. M. Kaufmann, 2007. isbn: 978-0-12-372501-1. url: http://www.elsevierdirect.com/product.jsp?isbn=9780123725011.
Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license and indicate if changes were made.
The images or other third party material in this chapter are included in the chapter's Creative Commons license, unless indicated otherwise in a credit line to the material. If material is not included in the chapter's Creative Commons license and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder.