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

Symbolic model checking of software product lines

Published:21 May 2011Publication History

ABSTRACT

We study the problem of model checking software product line (SPL) behaviours against temporal properties. This is more difficult than for single systems because an SPL with n features yields up to 2n individual systems to verify. As each individual verification suffers from state explosion, it is crucial to propose efficient formalisms and heuristics.

We recently proposed featured transition systems (FTS), a compact representation for SPL behaviour, and defined algorithms for model checking FTS against linear temporal properties. Although they showed to outperform individual system verifications, they still face a state explosion problem as they enumerate and visit system states one by one.

In this paper, we tackle this latter problem by using symbolic representations of the state space. This lead us to consider computation tree logic (CTL) which is supported by the industry-strength symbolic model checker NuSMV. We first lay the foundations for symbolic SPL model checking by defining a feature-oriented version of CTL and its dedicated algorithms. We then describe an implementation that adapts the NuSMV language and tool infrastructure. Finally, we propose theoretical and empirical evaluations of our results. The benchmarks show that for certain properties, our algorithm is over a hundred times faster than model checking each system with the standard algorithm.

References

  1. http://www.info.fundp.ac.be/~acs/fts, 2010.Google ScholarGoogle Scholar
  2. P. Asirelli, M. H. ter Beek, A. Fantechi, and S. Gnesi. A logical framework to deal with variability. In 8th IFM, number 6396 in LNCS, pages 43--58. Springer, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. P. Asirelli, M. H. ter Beek, S. Gnesi, and A. Fantechi. A deontic logical framework for modelling product families. In VaMoS'10, pages 37--44, 2010.Google ScholarGoogle Scholar
  4. C. Baier and J.-P. Katoen. Principles of Model Checking. MIT Press, 2007.Google ScholarGoogle Scholar
  5. D. Batory, D. Benavides, and A. Ruiz-Cortes. Automated analysis of feature models: Challenges ahead. Comm. ACM, 49(12):45--47, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. R. E. Bryant. Symbolic boolean manipulation with ordered binary-decision diagrams. ACM Comput. Surv., 24(3):293--318, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. J. R. Burch, E. M. Clarke, K. L. McMillan, D. L. Dill, and L. J. Hwang. Symbolic model checking: 1020 states and beyond. Inf. Comp., 98(2):142--170, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. 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
  9. E. M. Clarke and E. A. Emerson. Design and synthesis of synchronization skeletons using branching-time temporal logic. In Logic of Programs, volume 131 of LNCS, pages 52--71. Springer, 1981. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. A. Classen. CTL model checking for software product lines in NuSMV. Technical Report P-CS-TR SPLMC-00000002, University of Namur, 2010.Google ScholarGoogle Scholar
  11. A. Classen. Modelling with FTS: a collection of illustrative examples. Technical Report P-CS-TR SPLMC-00000001, University of Namur, 2010.Google ScholarGoogle Scholar
  12. A. Classen, P. Heymans, and P.-Y. Schobbens. What's in a feature: A requirements engineering perspective. In FASE'08, volume 4961 of LNCS, pages 16--30, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. A. Classen, P. Heymans, P.-Y. Schobbens, A. Legay, and J.-F. Raskin. Model checking lots of systems: Efficient verification of temporal properties in software product lines. In ICSE 32, pages 335--344. IEEE, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. 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
  15. P. C. Clements and L. Northrop. Software Product Lines: Practices and Patterns. Addison-Wesley, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. 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
  17. C. Ebert and C. Jones. Embedded software: Facts, figures, and future. Computer, 42(4):42--52, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. A. Fantechi and S. Gnesi. A behavioural model for product families. In ESEC-FSE'07, pages 521--524. ACM, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. 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
  20. 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
  21. N. Francez and I. Forman. Superimposition for inter- acting processes. In Concur'90, pages 230--245, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. 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
  23. K. Kang, S. Cohen, J. Hess, W. Novak, and S. Peterson. Feature-oriented domain analysis (FODA) feasibility study. Technical Report Carnegie Mellon University/SEI-90-TR-21, SEI, Carnegie Mellon University, November 1990.Google ScholarGoogle ScholarCross RefCross Ref
  24. K. G. Larsen. Modal specifications. In Automatic Verification Methods for Finite State Systems, volume 407 of LNCS, pages 232--246. Springer, 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. 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
  26. K. Lauenroth, S. Töhning, and K. Pohl. Model checking of domain artifacts in product line engineering. In IEEE/ACM ASE, pages 269--280, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. 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
  28. 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
  29. K. McMillan. Symbolic Model Checking. Kluwer, 1993. Google ScholarGoogle ScholarCross RefCross Ref
  30. B. Morin, O. Barais, G. Nain, and J.-M. Jézéquel. Taming dynamically adaptive systems using models and aspects. In ICSE 31, pages 122--132. IEEE, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. C. H. Papadimitriou. Computational Complexity. Addison-Wesley, 1994.Google ScholarGoogle Scholar
  32. M. Plath and M. Ryan. Feature integration using a feature construct. Sci. Comput. Program., 41(1):53--84, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. A. Pnueli. The temporal logic of programs. In Proc. 18th FOCS, pages 46--57, 1977. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. H. Post and C. Sinz. Configuration lifting: Verification meets software configuration. In ASE'08, pages 188--197. IEEE, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. 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
  36. T. T. Tun, Q. Boucher, A. Classen, A. Hubaux, and P. Heymans. Relating requirements and feature configurations: A systematic approach. In SPLC'09, pages 201--210. SEI, Carnegie Mellon University, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. 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

Index Terms

  1. Symbolic model checking of software product lines

        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 '11: Proceedings of the 33rd International Conference on Software Engineering
          May 2011
          1258 pages
          ISBN:9781450304450
          DOI:10.1145/1985793

          Copyright © 2011 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: 21 May 2011

          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