Skip to main content

Quality Assurance in the Presence of Variability

  • Chapter
  • First Online:

Abstract

Software Product Line Engineering (SPLE) is a reuse-driven development paradigm that has been applied successfully in information system engineering and other domains. Quality assurance of the reusable artifacts of the product line (e.g. requirements, design, and code artifacts) is essential for successful product line engineering. As those artifacts are reused in several products, a defect in a reusable artifact can affect several products of the product line. A central challenge for quality assurance in product line engineering is how to consider product line variability. Since the reusable artifacts contain variability, quality assurance techniques from single-system engineering cannot directly be applied to those artifacts. Therefore, different strategies and techniques have been developed for quality assurance in the presence of variability. In this chapter, we describe those strategies and discuss in more detail one of those strategies, the so called comprehensive strategy. The comprehensive strategy aims at checking the quality of all possible products of the product line and thus offers the highest benefits, since it is able to uncover defects in all possible products of the product line. However, the central challenge for applying the comprehensive strategy is the complexity that results from the product line variability and the large number of potential products of a product line. In this chapter, we present one concrete technique that we have developed to implement the comprehensive strategy that addresses this challenge. The technique is based on model checking technology and allows for a comprehensive verification of domain artifacts against temporal logic properties.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   129.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   169.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD   169.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Notes

  1. 1.

    (Ti) denotes the power set of Ti.

  2. 2.

    The function SAT-VM(OVM, V) checks whether there is a selection of variants that fulfils the variability OVM and the selection of variants V.

References

  1. Atlee J, Gannon J (1993) State-based model checking of event-driven system requirements. IEEE Trans Softw Eng 19(1):24–40

    Article  Google Scholar 

  2. Clarke E, Emerson A, Sistla P (1986) Automatic verification of finite-state concurrent systems using temporal logic specifications. ACM TOPLAS 8(2):244–263

    Article  MATH  Google Scholar 

  3. Clarke E, Grumberg O, Peled D (1999) Model checking. MIT, Cambridge

    Google Scholar 

  4. Deelstra S, Sinnema M, Bosch J (2005) Product derivation in software product families: a case study. J Systems Softw 74(2):173–194

    Article  Google Scholar 

  5. Emerson E, Kahlon V (2004) Parameterized model checking of ring-based message passing systems. In: Computer science logic. LNCS, vol 3210. Springer, pp 325–339

    Google Scholar 

  6. Grumberg O, Veith H (2008) 25 years of model checking. LNCS, vol 5000, Springer

    Google Scholar 

  7. Larsen K, Nyman U, Wąsowski A (2007) Modal I/O automata for interface and product line theories. In: Proceedings of 16th European symposium on programming. LNCS, vol 4421. Springer, pp 64–79

    Google Scholar 

  8. Lauenroth K (2009) Konsistenzprüfung von Domänenanforderungsspezifikationen. Phd Thesis (in German). Logos, Berlin

    Google Scholar 

  9. Lauenroth K, Pohl K (2008) Dynamic consistency checking of domain requirements in product line engineering. In: Proceedings of IEEE international requirements engineering conference, IEEE, Los Alamitos, pp 193–202

    Google Scholar 

  10. Lauenroth K, Pohl K (2009) Model checking of domain artifacts in product line engineering. In: Proceedings of the ACM/IEEE international conference on automated software engineering, Los Alamitos, pp 269–280

    Google Scholar 

  11. Lauenroth K, Pohl K (2007) Towards automated consistency checks of product line requirements specifications. In: Proceedings of the ACM/IEEE international conference on automated software engineering, Atlanta, pp 373–376

    Google Scholar 

  12. Liu J, Dehlinger R, Lutz R (2007) Safety analysis of software product lines using state-based modelling. J Systems Softw 80:1879–1892

    Article  Google Scholar 

  13. Lynch M, Tuttle M (1989) An introduction to input/output automata. CWI Quater 2(3):219–246

    MathSciNet  MATH  Google Scholar 

  14. Maccari A, Heie A (2005) Managing infinite variability in mobile terminal software. Softw Pract Exper 35(6):513–537

    Article  Google Scholar 

  15. Metzger A (2007) Quality issues in software product lines: feature interactions and beyond (invited talk). In: 9th international conference on feature interactions in software and communication systems (ICFI 2007), Grenoble, pp 3–15

    Google Scholar 

  16. Metzger A, Bühne S, Lauenroth K, Pohl K (2005) Considering feature interactions in product lines: towards the automatic derivation of dependencies between product variants. In: Feature interactions in telecommunications and software systems VIII. Proceedings ICFI, pp 198–216

    Google Scholar 

  17. Metzger A, Heymans P, Pohl K, Schobbens P-Y, Saval G (2007) Disambiguating the documentation of variability in software product lines. In: Proceedings of RE’07, Los Alamitos, pp 243–253

    Google Scholar 

  18. Pohl K, Metzger A (2006) Software product line testing. Commun ACM 49(12):78–81

    Article  Google Scholar 

  19. Pohl K, Böckle G, van der Linden F (2005) Software product line engineering – foundations, principles, and techniques. Springer, Heidelberg

    MATH  Google Scholar 

  20. Ralyte J, Rolland C, Deneckère R (2004) Towards a meta-tool for change-centric method engineering: a typology of generic operators. In: Proceedings of CAiSE. LNCS, vol 3084, pp 202–218

    Google Scholar 

  21. Ralyté J, Rolland C, Ben Ayed M (2005) An approach for evolution-driven method engineering. In: Krogstie J, Halpin T, Siau K (eds) Information modeling methods and methodologies. IDEA Group, USA, pp 80–100

    Google Scholar 

  22. Rolland C (2009) Method engineering: towards methods as services. Software Process: Improvement and Practice (SPIP), Special issue on Software Processes 14(3):143–164

    Google Scholar 

  23. Rolland C, Grosz G, Kla R (1999) Experience with goal-scenario coupling in requirements engineering. In: Proceedings of IEEE international requirements engineering conference, Los Alamitos, pp 74–81

    Google Scholar 

  24. Rolland C, Nurcan S (2010) Business process lines to deal with the variability. In: Proceedings of the Hawaii international conference on system sciences (HICSS), Hawaii, USA

    Google Scholar 

  25. Rolland C, Prakash N, Kaabi R (2007) Variability in business process families. Information Resources Management Association (IRMA)

    Google Scholar 

  26. Rolland C, Salinesi C (2009) Supporting requirements elicitation through goal/scenario coupling. In: Conceptual modeling: foundations and applications. LNCS, vol 5600. Springer, pp 398–416

    Google Scholar 

  27. Rolland C, Souveyet C, Ben Achour C (1998) Guiding goal modelling using scenarios. IEEE Trans Softw Eng, Special Issue on Scenario Manage 24(12):1055–1071

    Article  Google Scholar 

  28. Salinesi C, Rolland C, Mazo R (2009) An ontology of verification criteria in the product line domain. Centre de Recherche en Informatique (CRI), Université Panthéon Sorbonn, Paris, France

    Google Scholar 

  29. Salinesi C, Rolland C, Mazo R (2009) VMWare: tool support for automatic verification of structural and semantic correctness in product line models. In: Proceedings of VaMoS 2009, Sevilla, Spain, Essen, pp 173–176

    Google Scholar 

  30. Savolainen J, Kuusela J (2001) Consistency management of product line requirements. In: Proceedings of IEEE international requirements engineering conference, Los Alamitos, pp 40–47

    Google Scholar 

Download references

Acknowledgments

This work has been partially funded by the DFG under grant PO 607/2-1 IST-SPL. We would like to thank Ernst Sikora and Nelufar Ulfat-Bunyadi for fruitful discussions on earlier drafts of this chapter.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Kim Lauenroth .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Lauenroth, K., Metzger, A., Pohl, K. (2010). Quality Assurance in the Presence of Variability. In: Nurcan, S., Salinesi, C., Souveyet, C., Ralyté, J. (eds) Intentional Perspectives on Information Systems Engineering. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-12544-7_18

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-12544-7_18

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-12543-0

  • Online ISBN: 978-3-642-12544-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics