Family-Based Model Checking with mCRL2

  • Maurice H. ter Beek
  • Erik P. de Vink
  • Tim A. C. Willemse
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10202)


Family-based model checking targets the simultaneous verification of multiple system variants, a technique to handle feature-based variability that is intrinsic to software product lines (SPLs). We present an approach for family-based verification based on the feature \(\mu \)-calculus \(\mu L {}_f\), which combines modalities with feature expressions. This logic is interpreted over featured transition systems, a well-accepted model of SPLs, which allows one to reason over the collective behavior of a number of variants (a family of products). Via an embedding into the modal \(\mu \)-calculus with data, underpinned by the general-purpose mCRL2 toolset, off-the-shelf tool support for \(\mu L {}_f\) becomes readily available. We illustrate the feasibility of our approach on an SPL benchmark model and show the runtime improvement that family-based model checking with mCRL2 offers with respect to model checking the benchmark product-by-product.


  1. 1.
    Thüm, T., et al.: A classification and survey of analysis strategies for software product lines. ACM Comput. Surv. 47(1), 1–45 (2014)CrossRefGoogle Scholar
  2. 2.
    Gruler, A., Leucker, M., Scheidemann, K.: Modeling and model checking software product lines. In: Barthe, G., Boer, F.S. (eds.) FMOODS 2008. LNCS, vol. 5051, pp. 113–131. Springer, Heidelberg (2008). doi:10.1007/978-3-540-68863-1_8 CrossRefGoogle Scholar
  3. 3.
    Lauenroth, K., Pohl, K., Töhning, S.: Model checking of domain artifacts in product line engineering. In: ASE, pp. 269–280. IEEE (2009)Google Scholar
  4. 4.
    Classen, A., et al.: Model checking \(\underline{\text{lots}}\) of systems: efficient verification of temporal properties in software product lines. In: ICSE, pp. 335–344. ACM (2010)Google Scholar
  5. 5.
    Damiani, F., Schaefer, I.: Family-based analysis of type safety for delta-oriented software product lines. In: Margaria, T., Steffen, B. (eds.) ISoLA 2012. LNCS, vol. 7609, pp. 193–207. Springer, Heidelberg (2012). doi:10.1007/978-3-642-34026-0_15 CrossRefGoogle Scholar
  6. 6.
    Thüm, T., Schaefer, I., Hentschel, M., Apel, S.: Family-based deductive verification of software product lines. In: GPCE, pp. 11–20. ACM (2012)Google Scholar
  7. 7.
    ter Beek, M.H., Fantechi, A., Gnesi, S., Mazzanti, F.: Using FMC for family-based analysis of software product lines. In: SPLC, pp. 432–439. ACM (2015)Google Scholar
  8. 8.
    Dimovski, A.S., Al-Sibahi, A.S., Brabrand, C., Wąsowski, A.: Family-based model checking without a family-based model checker. In: Fischer, B., Geldenhuys, J. (eds.) SPIN 2015. LNCS, vol. 9232, pp. 282–299. Springer, Cham (2015). doi:10.1007/978-3-319-23404-5_18 CrossRefGoogle Scholar
  9. 9.
    Clarke, E.M., Emerson, E.A., Sifakis, J.: Model checking: algorithmic verification and debugging. C. ACM 52(11), 74–84 (2009)CrossRefGoogle Scholar
  10. 10.
    Gruler, A., Leucker, M., Scheidemann, K.: Calculating and modeling common parts of software product lines. In: SPLC, pp. 203–212. IEEE (2008)Google Scholar
  11. 11.
    ter Beek, M.H., Lluch Lafuente, A., Petrocchi, M.: Combining declarative and procedural views in the specification and analysis of product families. In: SPLC, vol. 2, pp. 10–17. ACM (2013)Google Scholar
  12. 12.
    Lochau, M., Mennicke, S., Baller, H., Ribbeck, L.: Incremental model checking delta-oriented software product lines. J. Log. Algebr. Meth. Program. 85(1), 245–267 (2016)MathSciNetCrossRefMATHGoogle Scholar
  13. 13.
    Classen, A., et al.: Featured transition systems: foundations for verifying variability-intensive systems and their application to LTL model checking. IEEE Trans. Softw. Eng. 39(8), 1069–1089 (2013)CrossRefGoogle Scholar
  14. 14.
    Classen, A., et al.: Formal semantics, modular specification, and symbolic verification of product-line behaviour. Sci. Comput. Program. 80(B), 416–439 (2014)CrossRefGoogle Scholar
  15. 15.
    ter Beek, M.H., Fantechi, A., Gnesi, S., Mazzanti, F.: Modelling and analysing variability in product families: model checking of modal transition systems with variability constraints. J. Log. Algebr. Meth. Program. 85(2), 287–315 (2016)MathSciNetCrossRefMATHGoogle Scholar
  16. 16.
    ter Beek, M.H., Mazzanti, F., Sulova, A.: VMC: a tool for product variability analysis. In: Giannakopoulou, D., Méry, D. (eds.) FM 2012. LNCS, vol. 7436, pp. 450–454. Springer, Heidelberg (2012). doi:10.1007/978-3-642-32759-9_36 CrossRefGoogle Scholar
  17. 17.
    Classen, A., et al.: Model checking software product lines with SNIP. Int. J. Softw. Tools Technol. Transf. 14(5), 589–612 (2012)CrossRefGoogle Scholar
  18. 18.
    Cordy, A., et al.: ProVeLines: a product line of verifiers for software product lines. In: SPLC, vol. 2, pp. 141–146. ACM (2013)Google Scholar
  19. 19.
    ter Beek, M.H., de Vink, E.P.: Using mCRL2 for the analysis of software product lines. In: FormaliSE, pp. 31–37. IEEE (2014)Google Scholar
  20. 20.
    ter Beek, M.H., de Vink, E.P., Willemse, T.A.C.: Towards a feature mu-calculus targeting SPL verification. In: FMSPLE, EPTCS, vol. 206, pp. 61–75 (2016)Google Scholar
  21. 21.
    Cranen, S., Groote, J.F., Keiren, J.J.A., Stappers, F.P.M., de Vink, E.P., Wesselink, W., Willemse, T.A.C.: An overview of the mCRL2 toolset and its recent advances. In: Piterman, N., Smolka, S.A. (eds.) TACAS 2013. LNCS, vol. 7795, pp. 199–213. Springer, Heidelberg (2013). doi:10.1007/978-3-642-36742-7_15 CrossRefGoogle Scholar
  22. 22.
    Groote, J.F., Mousavi, M.R.: Modeling and Analysis of Communicating Systems. MIT Press, Cambridge (2014)MATHGoogle Scholar
  23. 23.
    Kim, C.H.P., et al.: SPLat: lightweight dynamic analysis for reducing combinatorics in testing configurable systems. In: ESEC/FSE, pp. 257–267. ACM (2013)Google Scholar
  24. 24.
    Bürdek, J., Lochau, M., Bauregger, S., Holzer, A., von Rhein, A., Apel, S., Beyer, D.: Facilitating reuse in multi-goal test-suite generation for software product lines. In: Egyed, A., Schaefer, I. (eds.) FASE 2015. LNCS, vol. 9033, pp. 84–99. Springer, Heidelberg (2015). doi:10.1007/978-3-662-46675-9_6 Google Scholar
  25. 25.
    Lity, S., Morbach, T., Thüm, T., Schaefer, I.: Applying incremental model slicing to product-line regression testing. In: Kapitsaki, G.M., Santana de Almeida, E. (eds.) ICSR 2016. LNCS, vol. 9679, pp. 3–19. Springer, Cham (2016). doi:10.1007/978-3-319-35122-3_1 Google Scholar
  26. 26.
    Beohar, H., Varshosaz, M., Mousavi, M.R.: Basic behavioral models for software product lines: expressiveness and testing pre-orders. Sci. Comput. Program. 123, 42–60 (2016)CrossRefGoogle Scholar
  27. 27.
    Ghezzi, C., Sharifloo, A.: Model-based verification of quantitative non-functional properties for software product lines. Inform. Softw. Technol. 55(3), 508–524 (2013)CrossRefGoogle Scholar
  28. 28.
    Varshosaz, M., Khosravi, R.: Discrete time markov chain families: modeling and verification of probabilistic software product lines. In: SPLC, vol. 2, pp. 34–41. ACM (2013)Google Scholar
  29. 29.
    Rodrigues, G.N., et al.: Modeling and verification for probabilistic properties in software product lines. In: HASE, pp. 173–180. IEEE (2015)Google Scholar
  30. 30.
    Dubslaff, C., Baier, C., Klüppelholz, S.: Probabilistic model checking for feature-oriented systems. In: Chiba, S., Tanter, É., Ernst, E., Hirschfeld, R. (eds.) Transactions on Aspect-Oriented Software Development XII. LNCS, vol. 8989, pp. 180–220. Springer, Heidelberg (2015). doi:10.1007/978-3-662-46734-3_5 Google Scholar
  31. 31.
    Kwiatkowska, M., Norman, G., Parker, D.: PRISM 4.0: verification of probabilistic real-time systems. In: Gopalakrishnan, G., Qadeer, S. (eds.) CAV 2011. LNCS, vol. 6806, pp. 585–591. Springer, Heidelberg (2011). doi:10.1007/978-3-642-22110-1_47 CrossRefGoogle Scholar
  32. 32.
    Chrszon, P., Dubslaff, C., Klüppelholz, S., Baier, C.: Family-based modeling and analysis for probabilistic systems – featuring ProFeat. In: Stevens, P., Wąsowski, A. (eds.) FASE 2016. LNCS, vol. 9633, pp. 287–304. Springer, Heidelberg (2016). doi:10.1007/978-3-662-49665-7_17 CrossRefGoogle Scholar
  33. 33.
    ter Beek, M.H., Legay, A., Lluch Lafuente, A., Vandin, A.: Statistical analysis of probabilistic models of software product lines with quantitative constraints. In: SPLC, pp. 11–15. ACM (2015)Google Scholar
  34. 34.
    ter Beek, M.H., Legay, A., Lluch Lafuente, A., Vandin, A.: Statistical model checking for product lines. In: Margaria, T., Steffen, B. (eds.) ISoLA 2016. LNCS, vol. 9952, pp. 114–133. Springer, Cham (2016). doi:10.1007/978-3-319-47166-2_8 CrossRefGoogle Scholar
  35. 35.
    Bradfield, J.C., Stirling, C.: Modal logics and \(\mu \)-calculi: an introduction. In: Handbook of Process Algebra, Chap. 4, pp. 293–330. Elsevier (2001)Google Scholar
  36. 36.
    Groote, J.F., Mateescu, R.: Verification of temporal properties of processes in a setting with data. In: Haeberer, A.M. (ed.) AMAST 1999. LNCS, vol. 1548, pp. 74–90. Springer, Heidelberg (1998). doi:10.1007/3-540-49253-4_8 CrossRefGoogle Scholar
  37. 37.
    Groote, J.F., Willemse, T.A.C.: Model-checking processes with data. Sci. Comput. Program. 56(3), 251–273 (2005)MathSciNetCrossRefMATHGoogle Scholar
  38. 38.
    Zantema, H., van de Pol, J.C.: A rewriting approach to binary decision diagrams. J. Log. Algebr. Program. 49(1–2), 61–86 (2001)MathSciNetCrossRefMATHGoogle Scholar
  39. 39.
    Kramer, J., Magee, J., Sloman, M., Lister, A.: CONIC: an integrated approach to distributed computer control systems. IEE Proc. E 130(1), 1–10 (1983)CrossRefGoogle Scholar
  40. 40.
    Giannakopoulou, D., Magee, J.: Fluent model checking for event-based systems. In: ESEC/FSE, pp. 257–266. ACM (2003)Google Scholar
  41. 41.
    Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. MIT Press, Cambridge (1999)Google Scholar

Copyright information

© Springer-Verlag GmbH Germany 2017

Authors and Affiliations

  • Maurice H. ter Beek
    • 1
  • Erik P. de Vink
    • 2
  • Tim A. C. Willemse
    • 2
  1. 1.ISTI–CNRPisaItaly
  2. 2.TU/eEindhovenThe Netherlands

Personalised recommendations