Skip to main content
Log in

ProFeat: feature-oriented engineering for family-based probabilistic model checking

  • Original Article
  • Published:
Formal Aspects of Computing

Abstract

The concept of features provides an elegant way to specify families of systems. Given a base system, features encapsulate additional functionalities that can be activated or deactivated to enhance or restrict the base system’s behaviors. Features can also facilitate the analysis of families of systems by exploiting commonalities of the family members and performing an all-in-one analysis, where all systems of the family are analyzed at once on a single family model instead of one-by-one. Most prominent, the concept of features has been successfully applied to describe and analyze (software) product lines. We present the tool ProFeat that supports the feature-oriented engineering process for stochastic systems by probabilistic model checking. To describe families of stochastic systems, ProFeat extends models for the prominent probabilistic model checker Prism by feature-oriented concepts, including support for probabilistic product lines with dynamic feature switches, multi-features and feature attributes. ProFeat provides a compact symbolic representation of the analysis results for each family member obtained by Prism to support, e.g., model repair or refinement during feature-oriented development. By means of several case studies we show how ProFeat eases family-based quantitative analysis and compare one-by-one and all-in-one analysis approaches.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Alur R, Henzinger TA (1999) Reactive modules. Form Methods Syst Des, 15(1): 7–48

    Article  Google Scholar 

  2. Apel S, Hutchins D (2010) A calculus for uniform feature composition. ACM Trans Program Lang Syst 32(5): 19

    Article  Google Scholar 

  3. Apel S, Janda F, Trujillo S, Kästner C (2009) Model superimposition in software product lines. In: ICMT’09, volume 5563 of LNCS, pp 4–19. Springer, Berlin

  4. Apel S, Kästner C (2009) An overview of feature-oriented software development. J Object Technol 8(5): 49–84

    Article  Google Scholar 

  5. Akers SB (June 1978) Binary decision diagrams. IEEE Trans Comput 27(6):509–516

  6. Apel S, von Rhein A, Wendler P, Groesslinger A, Beyer D (2013) Strategies for product-line verification: case studies and experiments. In: Proceedings of the 2013 international conference on software engineering, ICSE ’13. IEEE, pp 482–491

  7. Apel S, Speidel H, Wendler P, von Rhein A, Beyer D (2011) Detection of feature interactions using feature-aware verification. In: International conference on automated software engineering (ASE). IEEE, pp 372–375

  8. Asirelli P, ter Beek MH, Gnesi S, Fantechi A (2011) Formal description of variability in product families. In: Proceedings of the 2011 15th international software product line conference, SPLC ’11. IEEE Computer Society, Washington, DC, USA, pp 130–139

  9. Bianco A, de Alfaro L (1995) Model checking of probabilistic and non-deterministic systems. In: FSTTCS’95, volume 1026 of LNCS, pp 499–513

  10. Baier C, Daum M, Dubslaff C, Klein J, Klüppelholz S (2014) Energy-utility quantiles. Springer, Berlin, pp 285–299

  11. Baier C, Engel B, Klüppelholz S, Märcker S, Tews H, Völp M (2013) A probabilistic quantitative analysis of probabilistic-write/copy-select. In: Proceedings of the 5th NASA formal methods symposium (NFM), LNCS. Springer, pp 307–321

  12. Bahar RI, Frohm EA, Gaona CM, Hachtel GD, Macii E, Pardo A, Somenzi F (1997) Algebraic decision diagrams and their applications. Form Methods Syst Des 10(2/3): 171–206

    Article  Google Scholar 

  13. Baier C, Kwiatkowska M (1998) Model checking for a probabilistic branching time logic with fairness. Distrib Comput 11(3): 125–155

    Article  Google Scholar 

  14. Baier C, Katoen J-P (2008) Principles of model checking. The MIT Press, Cambridge

    MATH  Google Scholar 

  15. Bryant RE (1986) Graph-based algorithms for boolean function manipulation. IEEE Trans Comput 35: 677–691

    Article  MATH  Google Scholar 

  16. Benavides D, Segura S, Ruiz-Cortés A (2010) Automated analysis of feature models 20 years later: A literature review. Inf Syst 35(6): 615–636

    Article  Google Scholar 

  17. Classen A, Boucher Q, Heymans P (2011) A text-based approach to feature modelling: syntax and semantics of TVL. Sci Comput Program 76(12): 1130–1143

    Article  Google Scholar 

  18. Classen A, Cordy M, Heymans P, Legay A, Schobbens P-Y (2012) Model checking software product lines with SNIP. STTT 14(5): 589–612

    Article  Google Scholar 

  19. Cordy M, Classen A, Heymans P, Legay A, Schobbens P-Y (2013) Model checking adaptive software with featured transition systems. LNCS. Springer, Berlin, pp 1–29

  20. Cordy M, Classen A, Heymans P, Schobbens P-Y, Legay A (2013) ProVeLines: a product line of verifiers for software product lines. In: 17th International software product line conference (SPLC). ACM, pp 141–146

  21. Classen A, Cordy M, Heymans P, Legay A, Schobbens P-Y (2014) Formal semantics, modular specification, and symbolic verification of product-line behaviour. Sci Comput Program 80: 416–439

    Article  Google Scholar 

  22. Classen A, Cordy M, Schobbens P-Y, Heymans P, Legay A, Raskin J-F (2013) Featured transition systems: foundations for verifying variability-intensive systems and their application to LTL model checking. IEEE Trans Softw Eng 39(8): 1069–1089

    Article  Google Scholar 

  23. Chrszon P, Dubslaff C, Klüppelholz S, Baier C (2016) Family-based modeling and analysis for probabilistic systems—featuring ProFeat. Springer, Berlin, pp 287–304

  24. Clarke EM, Fujita M, McGeers PC, McMillan KL, Yang JC-Y, Zhao X-J (1993) Multi-terminal binary decision diagrams: an efficient data structure for matrix representation. In: Proceedings of international workshop on logic and synthesis

  25. Czarnecki K, Helsen S, Eisenecker UW (2005) Formalizing cardinality-based feature models and their specialization. Softw Process Improv Pract 10(1): 7–29

    Article  Google Scholar 

  26. Classen A, Heymans P, Schobbens P-Y, Legay A, Raskin J-F (2010) Model checking lots of systems: efficient verification of temporal properties in software product lines. In: 32nd International conference on software engineering (ICSE). ACM, pp 335–344

  27. Clements P, Northrop L (2001) Software product lines: practices and patterns. Addison-Wesley Professional, Reading

  28. Cordy M, Schobbens P-Y, Heymans P, Legay A (2013) Beyond boolean product-line model checking: dealing with feature attributes and multi-features. In: Proceedings of the 2013 international conference on software engineering, ICSE ’13. IEEE Press, pp 472–481

  29. Dimovski AS, Al-Sibahi AS, Brabrand C, Wasowski A (2015) Family-based model checking without a family-based model checker. In: Model checking software—22nd international symposium, SPIN 2015, Stellenbosch, South Africa, August 24–26, 2015, Proceedings, pp 282–299

  30. Daws C (2004) Symbolic and parametric model checking of discrete-time Markov chains. In: Theoretical aspects of computing—ICTAC 2004, volume 3407 of LNCS, pp 280–294

  31. Dubslaff C, Baier C, Klüppelholz S (2015) Probabilistic model checking for feature-oriented systems. Trans Aspect-Oriented Softw Dev XII, 8989: 180–220

    Google Scholar 

  32. Dijkstra EW (1975) Guarded commands, nondeterminacy and formal derivation of programs. Commun ACM 18(8): 453–457

    Article  MathSciNet  MATH  Google Scholar 

  33. Dehnert C, Junges S, Jansen N, Corzilius F, Volk M, Bruintjes H, Katoen J-P, Abraham E (2015) PROPhESY: a probabilistic parameter synthesis tool. In: 27th International conference on computer aided verification (CAV), volume 9206 of LNCS, pp 214–231

  34. Dehnert C, Junges S, Katoen J-P, Volk M (2016) The probabilistic model checker Storm (extended abstract). arXiv:1610.08713

  35. Dubslaff C, Klüppelholz S, Baier C (2014) Probabilistic model checking for energy analysis in software product lines. In: 13th International conference on modularity, MODULARITY ’14, Lugano, Switzerland, April 22–26, 2014, pp 169–180

  36. Dinkelaker T, Mitschke R, Fetzer K, Mezini M (2010) A dynamic software product line approach using aspect models at runtime. In: Proceedings of the 1st workshop on composition and variability

  37. Damiani F, Schaefer I (2011) Dynamic delta-oriented programming. In: Proceedings of the 15th International software product line conference, SPLC ’11. ACM

  38. Filieri A, Ghezzi C, Tamburrelli G (2012) A formal approach to adaptive software: continuous assurance of non-functional requirements. Form Asp Comput 24(2): 163–186

    Article  MathSciNet  MATH  Google Scholar 

  39. Gomaa H, Hussein M (2003) Dynamic software reconfiguration in software product families. In: PFE, pp 435–444

  40. Ghezzi C, Sharifloo AM (2013) Model-based verification of quantitative non-functional properties for software product lines. Inf Softw Technol 55(3): 508–524

    Article  Google Scholar 

  41. Hahn EM, Hermanns H, Wachter B, Zhang L (2010) PARAM: A model checker for parametric Markov models. In: 22nd International conference on computer aided verification (CAV), volume 6174 of LNCS, pp 660–664

  42. Hahn EM, Hermanns H, Zhang L (2011) Probabilistic reachability for parametric Markov models. Softw Tools Technol Transf 13(1): 3–19

    Article  Google Scholar 

  43. Katz S (1993) A superimposition control construct for distributed systems. ACM Trans Program Lang Syst 15(2): 337–356

    Article  Google Scholar 

  44. Klein J, Baier C, Chrszon P, Daum M, Dubslaff C, Klüppelholz S, Märcker S, Müller D (2016) Advances in symbolic probabilistic model checking with PRISM. In: Tools and algorithms for the construction and analysis of systems—22nd international conference, TACAS 2016, Proceedings, pp 349–366

  45. Kang KC, Cohen SG, Hess JA, Novak WE, Peterson AS (1990) Feature-oriented domain analysis (FODA) feasibility study. Technical Report CMU/SEI-90-TR-21, Carnegie-Mellon University

  46. Kwiatkowska M, Norman G, Parker D (2011) PRISM 4.0: Verification of probabilistic real-time systems. In: Gopalakrishnan G, Qadeer S (eds) Proceedings of 23rd international conference on computer aided verification (CAV’11), volume 6806 of LNCS. Springer, pp 585–591

  47. Kwiatkowska MZ, Norman G, Parker D (2012) The PRISM benchmark suite. In: Proceedings of quantitative evaluation of systems (QEST’12), pp 203–204. IEEE https://github.com/prismmodelchecker/prism-benchmarks/.

  48. Kowal M, Schaefer I, Tribastone M (2014) Family-based performance analysis of variant-rich software systems. In: Fundamental approaches to software engineering, volume 8411 of LNCS, pp 94–108

  49. Katoen J-P, Zapreev IS, Hahn EM, Hermanns H, Jansen DN (2011) The ins and outs of the probabilistic model checker MRMC. Perform Eval 68(2): 90–104

    Article  Google Scholar 

  50. Lee CY (1959) Representation of switching circuits by binary-decision programs. Bell Syst Tech J 38(4): 985–999

    Article  MathSciNet  Google Scholar 

  51. Legay A, Perrouin G (2017) On quantitative requirements for product lines. In: Proceedings of the eleventh international workshop on variability modelling of software-intensive systems, VAMOS ’17, New York, NY, USA. ACM, pp 2–4

  52. Lauenroth K, Pohl K, Toehning S (2009) Model checking of domain artifacts in product line engineering. In: 24th IEEE/ACM international conference on automated software engineering (ASE). IEEE, pp 269–280

  53. McCluskey EJ (1956) Minimization of boolean functions*. Bell Syst Tech J 35(6): 1417–1444

    Article  MathSciNet  Google Scholar 

  54. Plath M, Ryan M (2001) Feature integration using a feature construct. Sci Comput Program 41(1): 53–84

    Article  MATH  Google Scholar 

  55. Panda S, Somenzi F (1995) Who are the variables in your neighborhood. In: Proceedings of computer-aided design (ICCAD’95). IEEE, pp 74–77

  56. Rodrigues GN, Alves V, Nunes V, Lanna A, Cordy M, Schobbens P-Y, Sharifloo AM, Legay A (2015) Modeling and verification for probabilistic properties in software product lines. In: High assurance systems engineering (HASE). IEEE, pp 173–180

  57. Rudell R (1993) Dynamic variable ordering for ordered binary decision diagrams. In: IEEE/ACM international conference on computer-aided design (ICCAD-93), pp 42–47

  58. Schaefer I (2010) Variability modelling for model-driven development of software product lines. In: VaMoS

  59. Segura S (2008) Automated analysis of feature models using atomicsets. In: SPLC (2), pp 201--207

  60. Thüm T, Apel S, Kästner C, Schaefer I, Saake G (June 2014) A classification and survey of analysis strategies for software product lines. ACM Comput Surv 47(1):6:1–6:45

  61. ter Beek MH, Fantechi A, Gnesi S, Mazzanti F (2016) Modelling and analysing variability in product families: Model checking of modal transition systems with variability constraints. J Log Algebraic Methods Program 85(2): 287–315

    Article  MathSciNet  MATH  Google Scholar 

  62. ter Beek MH, Legay A, Lluch-Lafuente A, Vandin A (2015) Statistical analysis of probabilistic models of software product lines with quantitative constraints. In: 19th International conference on software product line (SPLC). ACM, pp 11–15

  63. ter Beek MH, Mazzanti F, Sulova A (2012) VMC: a tool for product variability analysis. Springer, Berlin, pp 450–454

  64. Thüm T, Kästner C, Benduhn F, Meinicke J, Saake G, Leich T (2014) FeatureIDE: an extensible framework for feature-oriented software development. Sci Comput Program 79:70–85

  65. von Rhein Alexander (2016) Analysis strategies for configurable systems. PhD thesis, University of Passau

  66. Wegener I (2000) Branching programs and binary decision diagrams: theory and applications. Monographs on discrete mathematics and applications. SIAM Philadelphia

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Philipp Chrszon.

Additional information

Perdita Stevens, Andrzej Wasowski, and Ewen Denney

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Chrszon, P., Dubslaff, C., Klüppelholz, S. et al. ProFeat: feature-oriented engineering for family-based probabilistic model checking. Form Asp Comp 30, 45–75 (2018). https://doi.org/10.1007/s00165-017-0432-4

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00165-017-0432-4

Keywords

Navigation