skip to main content
10.1145/1806799.1806850acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

Model checking lots of systems: efficient verification of temporal properties in software product lines

Published:01 May 2010Publication History

ABSTRACT

In product line engineering, systems are developed in families and differences between family members are expressed in terms of features. Formal modelling and verification is an important issue in this context as more and more critical systems are developed this way. Since the number of systems in a family can be exponential in the number of features, two major challenges are the scalable modelling and the efficient verification of system behaviour. Currently, the few attempts to address them fail to recognise the importance of features as a unit of difference, or do not offer means for automated verification.

In this paper, we tackle those challenges at a fundamental level. We first extend transition systems with features in order to describe the combined behaviour of an entire system family. We then define and implement a model checking technique that allows to verify such transition systems against temporal properties. An empirical evaluation shows substantial gains over classical approaches.

References

  1. D. Alrajeh, J. Kramer, A. Russo, and S. Uchitel. Learning operational requirements from goal models. In ICSE 31, pages 265--275, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. P. Asirelli, M. H. ter Beek, S. Gnesi, and A. Fantechi. Deontic logics for modeling behavioural variability. In VaMoS'09, pages 71--76, 2009.Google ScholarGoogle Scholar
  3. F. Bachmann, M. Goedicke, J. C. S. do Prado Leite, R. L. Nord, K. Pohl, B. Ramesh, and A. Vilbig. A meta-model for representing variability in product family development. In Int. Workshop on Product Family Engineering (PPE), pages 66--80, 2003.Google ScholarGoogle Scholar
  4. C. Baier and J.-P. Katoen. Principles of Model Checking. MIT Press, 2007.Google ScholarGoogle Scholar
  5. M. Calder, M. Kolberg, E. H. Magill, and S. Reiff-Marganiec. Feature interaction: a critical review and considered forecast. Computer Networks, 41(1):115--141, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. E. Clarke, O. Grumberg, and D. Peled. Model Checking. MIT Press, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. A. Classen. Modelling with FTS: a collection of illustrative examples. Technical Report P-CS-TR SPLMC-00000001, PReCISE Research Center, University of Namur, Namur, Belgium, 2010. www.info.fundp.ac.be/~acs/fts.Google ScholarGoogle Scholar
  8. A. Classen, P. Heymans, and P.-Y. Schobbens. What's in a feature: A requirements engineering perspective. In FASE'08, Held as Part of ETAPS'08, volume 4961 of LNCS, pages 16--30. Springer, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. A. Classen, P. Heymans, T. T. Tun, and B. Nuseibeh. Towards safer composition. In ICSE 31, Companion Volume, pages 227--230. IEEE, 2009.Google ScholarGoogle ScholarCross RefCross Ref
  10. P. C. Clements and L. Northrop. Software Product Lines: Practices and Patterns. SEI Series in Software Engineering. Addison-Wesley, August 2001.Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. C. Courcoubetis, M. Vardi, P. Wolper, and M. Yannakakis. Memory-efficient algorithms for the verification of temporal properties. Form. Methods Syst. Des., 1(2--3):275--288, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. K. Czarnecki and M. Antkiewicz. Mapping features to models: A template approach based on superimposed variants. In GPCE'05, pages 422--437, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. K. Czarnecki and K. Pietroszek. Verifying feature-based model templates against well-formedness OCL constraints. In GPCE '06, pages 211--220. ACM, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. C. Ebert and C. Jones. Embedded software: Facts, figures, and future. Computer, 42(4):42--52, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. E. A. Emerson and C. S. Jutla. Tree automata, mu-calculus and determinacy (extended abstract). In FOCS 32, pages 368--377. IEEE, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. A. Fantechi and S. Gnesi. A behavioural model for product families. In ESEC-FSE'07, Companion, pages 521--524. ACM, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. A. Fantechi and S. Gnesi. Formal modeling for product families engineering. In SPLC 2008, pages 193--202. IEEE CS, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. D. Fischbein, S. Uchitel, and V. Braberman. A foundation for behavioural conformance in software product line architectures. In ROSATEA '06, ISSTA 2006 workshop, pages 39--48. ACM Press, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. P. Gastin and D. Oddoux. Fast LTL to Büchi automata translation. In CAV 2001, number 2102 in LNCS, pages 53--65, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. A. Gruler, M. Leucker, and K. Scheidemann. Modeling and model checking software product lines. In IFIP WG 6.1 FMOODS '08, pages 113--131. Springer, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. K. Kang, S. Cohen, J. Hess, W. Novak, and S. Peterson. Feature-oriented domain analysis (FODA) feasibility study. Technical Report CMU/SEI-90-TR-21, SEI, CMU, November 1990.Google ScholarGoogle ScholarCross RefCross Ref
  22. J. Kramer, J. Magee, M. Sloman, and A. Lister. Conic: an integrated approach to distributed computer control systems. Computers and Digital Techniques, IEE Proceedings E, 130(1):1--10, 1983.Google ScholarGoogle ScholarCross RefCross Ref
  23. K. G. Larsen, U. Nyman, and A. Wasowski. Modal i/o automata for interface and product line theories. In ESOP, pages 64--79, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. K. Lauenroth, S. Töhning, and K. Pohl. Model checking of domain artifacts in product line engineering. In IEEE/ACM ASE, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. H. C. Li, S. Krishnamurthi, and K. Fisler. Verifying cross-cutting features as open systems. In SIGSOFT FSE, pages 89--98, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. J. Liu, J. Dehlinger, and R. Lutz. Safety analysis of software product lines using state-based modeling. J. Syst. Softw., 80(11):1879--1892, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. M. Mendonca, A. Wasowski, and K. Czarnecki. SAT-based analysis of feature models is easy. In SPLC'09, pages 231--240, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. B. Morin, O. Barais, G. Nain, and J.-M. Jézéquel. Taming dynamically adaptive systems using models and aspects. In ICSE '09, pages 122--132. IEEE, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. M. Plath and M. Ryan. Feature integration using a feature construct. Sci. Comput. Program., 41(1):53--84, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. P. Schnoebelen. The complexity of temporal logic model checking. In Advances in Modal Logic 4, pages 393--436, 2002.Google ScholarGoogle Scholar
  31. P.-Y. Schobbens, P. Heymans, J.-C. Trigaux, and Y. Bontemps. Feature Diagrams: A Survey and A Formal Semantics. In RE'06, pages 139--148, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. W. M. P. van der Aalst, M. Dumas, F. Gottschalk, A. H. M. ter Hofstede, M. L. Rosa, and J. Mendling. Correctness-preserving configuration of business process models. In FASE'08, Held as Part of ETAPS'08, pages 46--61, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. M. Y. Vardi and P. Wolper. An automata-theoretic approach to automatic program verification. In LICS'86, pages 332--344. IEEE CS, 1986.Google ScholarGoogle Scholar
  34. T. Ziadi, L. Hélouët, and J.-M. Jézéquel. Towards a UML profile for software product lines. In Int. Workshop on Product Family Engineering (PPE), pages 129--139, 2003.Google ScholarGoogle Scholar

Recommendations

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in
  • Published in

    cover image ACM Conferences
    ICSE '10: Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
    May 2010
    627 pages
    ISBN:9781605587196
    DOI:10.1145/1806799

    Copyright © 2010 ACM

    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]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 1 May 2010

    Permissions

    Request permissions about this article.

    Request Permissions

    Check for updates

    Qualifiers

    • research-article

    Acceptance Rates

    Overall Acceptance Rate276of1,856submissions,15%

    Upcoming Conference

    ICSE 2025

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader