Validated Test Models for Software Product Lines: Featured Finite State Machines

  • Vanderson Hafemann FragalEmail author
  • Adenilso Simao
  • Mohammad Reza Mousavi
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10231)


Variants of the finite state machine (FSM) model have been extensively used to describe the behaviour of reactive systems. In particular, several model-based testing techniques have been developed to support test case generation and test case executions from FSMs. Most such techniques require several validation properties to hold for the underlying test models. In this paper, we propose an extension of the FSM test model for software product lines (SPLs), named featured finite state machine (FFSM). As the first step towards using FFSMs as test models, we define feature-oriented variants of basic test model validation criteria. We show how the high-level validation properties coincide with the necessary properties on the product FSMs. Moreover, we provide a mechanised tool prototype for checking the feature-oriented properties using satisfiability modulo theory (SMT) solver tools. We investigate the applicability of our approach by applying it to both randomly generated FFSMs as well as those from a realistic case study (the Body Comfort System). The results of our study show that for random FFSMs over 16 independent non-mandatory features, our technique provides substantial efficiency gains for the set of proposed validity checks.


Formal modelling Model validation Software Product Line Finite State Machine 


  1. 1.
    Asirelli, P., ter Beek, M.H., Gnesi, S., Fantechi, A.: Formal description of variability in product families. In: Proceedings of the 15th International Software Product Line Conference (SPLC), pp. 130–139. IEEE (2011)Google Scholar
  2. 2.
    Batory, D.: Feature models, grammars, and propositional formulas. In: Proceedings of the 9th International Software Product Line Conference (SPLC), pp. 7–20. IEEE (2005)Google Scholar
  3. 3.
    Benduhn, F., Thüm, T., Lochau, M., Leich, T., Saake, G.: A survey on modeling techniques for formal behavioral verification of software product lines. In: Proceedings of the 9th International Workshop on Variability Modelling of Software-intensive Systems (VaMoS 2015), p. 80. ACM (2015).
  4. 4.
    Beohar, H., Mousavi, M.R.: Input-output conformance testing based on featured transition systems. In: Proceedings of the Symposium on Applied Computing (SAC 2014), pp. 1272–1278. ACM (2014).
  5. 5.
    Beohar, H., Mousavi, M.R.: Spinal test suites for software product lines. In: Proceedings of the 9th Workshop on Model-Based Testing (MBT 2014), EPTCS, vol. 141, pp. 44–55 (2014).
  6. 6.
    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
  7. 7.
    Broy, M., Jonsson, B., Katoen, J.-P., Leucker, M., Pretschner, A. (eds.): Model-Based Testing of Reactive Systems. LNCS, vol. 3472. Springer, Heidelberg (2005)zbMATHGoogle Scholar
  8. 8.
    Classen, A., Cordy, M., Schobbens, P.Y., Heymans, P., Legay, A., Raskin, J.F.: 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
  9. 9.
    Classen, A., Heymans, P., Schobbens, P.Y., Legay, A.: Symbolic model checking of software product lines. In: Proceeding of the 33rd International Conference on Software Engineering (ICSE), p. 321. ACM Press (2011)Google Scholar
  10. 10.
    Czarnecki, K., Antkiewicz, M.: Mapping features to models: a template approach based on superimposed variants. In: Glück, R., Lowry, M. (eds.) GPCE 2005. LNCS, vol. 3676, pp. 422–437. Springer, Heidelberg (2005). doi: 10.1007/11561347_28 CrossRefGoogle Scholar
  11. 11.
    Czarnecki, K., Grünbacher, P., Rabiser, R., Schmid, K., Wasowski, A.: Cool features and tough decisions. In: Proceedings of the Sixth International Workshop on Variability Modeling of Software-Intensive Systems (VaMoS), pp. 173–182. ACM Press (2012)Google Scholar
  12. 12.
    Czarnecki, K., Wasowski, A.: Feature diagrams and logics: there and back again. In: Proceedings of SPLC 2007, pp. 23–34. IEEE (2007)Google Scholar
  13. 13.
    Devroey, X., Perrouin, G., Papadakis, M., Legay, A., Schobbens, P., Heymans, P.: Featured model-based mutation analysis. In: Proceedings of the 38th International Conference on Software Engineering (ICSE 2016), pp. 655–666. ACM (2016).
  14. 14.
    Edwards, S.A.: Languages for Digital Embedded Systems. Springer, New York (2000)CrossRefGoogle Scholar
  15. 15.
    Grönninger, H., Krahn, H., Pinkernell, C., Rumpe, B.: Modeling variants of automotive systems using Views. In: Tagungsband Modellierungs-Workshop MBEFF: Modellbasierte Entwicklung von eingebetteten Fahrzeugfunktionen, p. 14. TU Braunschweig (2008)Google Scholar
  16. 16.
    Hierons, R.M., Bogdanov, K., Bowen, J.P., Cleaveland, R., Derrick, J., Dick, J., Gheorghe, M., Harman, M., Kapoor, K., Krause, P., et al.: Using formal specifications to support testing. ACM Comput. Surv. (CSUR) 41(2), 9 (2009)CrossRefGoogle Scholar
  17. 17.
    Kamischke, J., Lochau, M., Baller, H.: Conditioned model slicing of feature-annotated state machines. In: Proceedings of the 4th International Workshop on Feature-Oriented Software Development (FODS), pp. 9–16. ACM (2012)Google Scholar
  18. 18.
    Lee, D., Yannakakis, M.: Principles and methods of testing finite state machines - a survey. Proc. IEEE 84(8), 1090–1123 (1996)CrossRefGoogle Scholar
  19. 19.
    Linden, F., Schmif, K., Rommes, E.: Software Product Lines in Action. Springer, New York (2007)CrossRefGoogle Scholar
  20. 20.
    Lity, S., Lachmann, R., Lochau, M., Schaefer, I.: Delta-oriented software product line test models - the body comfort system case study. Technical report (2013)Google Scholar
  21. 21.
    Liu, J., Dehlinger, J., Lutz, R.: Safety analysis of software product lines using state-based modeling. J. Syst. Softw. 80(11), 1879–1892 (2007)CrossRefGoogle Scholar
  22. 22.
    Lochau, M., Lity, S., Lachmann, R., Schaefer, I., Goltz, U.: Delta-oriented model-based integration testing of large-scale systems. J. Syst. Softw. 91, 63–84 (2014). CrossRefGoogle Scholar
  23. 23.
    Lochau, M., Schaefer, I., Kamischke, J., Lity, S.: Incremental model-based testing of delta-oriented software product lines. In: Brucker, A.D., Julliand, J. (eds.) TAP 2012. LNCS, vol. 7305, pp. 67–82. Springer, Heidelberg (2012). doi: 10.1007/978-3-642-30473-6_7 CrossRefGoogle Scholar
  24. 24.
    Luna, C., Gonzalez, A.: Behavior specification of product lines via feature models and UML statecharts with variabilities. In: Chilean Computer Science Society (SCCC), pp. 9–16. IEEE (2008)Google Scholar
  25. 25.
    Moura, L., Bjørner, N.: Z3: an efficient SMT solver. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS 2008. LNCS, vol. 4963, pp. 337–340. Springer, Heidelberg (2008). doi: 10.1007/978-3-540-78800-3_24 CrossRefGoogle Scholar
  26. 26.
    Oster, S., Wubbeke, A., Engels, G., Schurr, A.: A survey of model-based software product lines testing. In: Zander, J., Schieferdecker, I., Mosterman, P.J. (eds.) Model-Based Testing for Embedded Systems, pp. 338–381. CRC Press, Boca Raton (2012)Google Scholar
  27. 27.
    Petrenko, A., Bochmann, G.v., Luo, G.: Selecting test sequences for partially specified nondeterministic finite state machines. In: International Workshop on Protocol Test Systems (IWPTS), pp. 95–110. Chapman & Hall (1995)Google Scholar
  28. 28.
    Schaefer, I., Rabiser, R., Clarke, D., Bettini, L., Benavides, D., Botterweck, G., Pathak, A., Trujillo, S., Villela, K.: Software diversity: state of the art and perspectives. Int. J. Softw. Tools. Technol. Transf. 14(5), 477–495 (2012)CrossRefGoogle Scholar
  29. 29.
    Schobbens, P.Y., Heymans, P., Trigaux, J.C.: Feature diagrams: a survey and a formal semantics. In: Proceedings of the 14th IEEE International Requirements Engineering Conference (RE), pp. 139–148. IEEE (2006)Google Scholar
  30. 30.
    SEI: A framework for software product line practice (2011).
  31. 31.
    Simao, A., Petrenko, A.: Fault coverage-driven incremental test generation. Comput. J. 53(9), 1508–1522 (2010)CrossRefGoogle Scholar
  32. 32.
    Thüm, T., Kästner, C., Benduhn, F., Meinicke, J., Saake, G., Leich, T.: Featureide: an extensible framework for feature-oriented software development. Sci. Comput. Program. 79, 70–85 (2014)CrossRefGoogle Scholar
  33. 33.
    Varshosaz, M., Beohar, H., Mousavi, M.R.: Delta-oriented FSM-based testing. In: Butler, M., Conchon, S., Zaïdi, F. (eds.) ICFEM 2015. LNCS, vol. 9407, pp. 366–381. Springer, Cham (2015). doi: 10.1007/978-3-319-25423-4_24 CrossRefGoogle Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  • Vanderson Hafemann Fragal
    • 1
    Email author
  • Adenilso Simao
    • 1
  • Mohammad Reza Mousavi
    • 2
  1. 1.Institute of Mathematics and Computer Sciences - ICMCUniversity of São PauloSão PauloBrazil
  2. 2.Centre for Research on Embedded Systems - CERESHalmstad UniversityHalmstadSweden

Personalised recommendations