Advertisement

A Vision for Behavioural Model-Driven Validation of Software Product Lines

  • Xavier Devroey
  • Maxime Cordy
  • Gilles Perrouin
  • Eun-Young Kang
  • Pierre-Yves Schobbens
  • Patrick Heymans
  • Axel Legay
  • Benoit Baudry
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7609)

Abstract

The Software Product Lines (SPLs) paradigm promises faster development cycles and increased quality by systematically reusing software assets. This paradigm considers a family of systems, each of which can be obtained by a selection of features in a variability model. Though essential, providing Quality Assurance (QA) techniques for SPLs has long been perceived as a very difficult challenge due to the combinatorics induced by variability and for which very few techniques were available. Recently, important progress has been made by the model-checking and testing communities to address this QA challenge, in a very disparate way though. We present our vision for a unified framework combining model-checking and testing approaches applied to behavioural models of SPLs. Our vision relies on Featured Transition Systems (FTSs), an extension of transition systems supporting variability. This vision is also based on model-driven technologies to support practical SPL modelling and orchestrate various QA scenarios. We illustrate one of such scenarios on a vending machine SPL.

Keywords

Software Product Line Model-Based Testing Model-Checking 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Ali, S., Hemmati, H., Holt, N., Arisholm, E., Briand, L.: Model Transformations as a Strategy to Automate Model-Based Testing-A Tool and Industrial Case Studies. Simula Research Laboratory, Technical Report, pp. 1–28 (January 2010)Google Scholar
  2. 2.
    Asirelli, P., ter Beek, M.H., Fantechi, A., Gnesi, S., Mazzanti, F.: Design and validation of variability in product lines. In: Proceedings of the 2nd International Workshop on Product Line Approaches in Software Engineering, PLEASE 2011, pp. 25–30. ACM, New York (2011)Google Scholar
  3. 3.
    Asirelli, P., ter Beek, M.H., Gnesi, S., Fantechi, A.: Formal description of variability in product families. In: Proceedings of the 2011 15th International Software Product Line Conference, SPLC 2011, pp. 130–139. IEEE Computer Society, Washington, DC (2011)CrossRefGoogle Scholar
  4. 4.
    Baier, C., Katoen, J.P.: Principles of Model Checking. MIT Press (2007)Google Scholar
  5. 5.
    Blom, J., Hessel, A., Jonsson, B., Pettersson, P.: Specifying and Generating Test Cases Using Observer Automata. In: Grabowski, J., Nielsen, B. (eds.) FATES 2004. LNCS, vol. 3395, pp. 125–139. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  6. 6.
    Clarke, E., Grumberg, O., Peled, D.: Model Checking. MIT Press (1999)Google Scholar
  7. 7.
    Classen, A., Heymans, P., Schobbens, P., Legay, A.: Symbolic model checking of software product lines. In: Proceedings 33rd International Conference on Software Engineering (ICSE 2011). ACM Press, New York (2011)Google Scholar
  8. 8.
    Classen, A.: Modelling and Model Checking Variability-Intensive Systems. Ph.D. thesis, PReCISE Research Center, Faculty of Computer Science, University of Namur, FUNDP (2011)Google Scholar
  9. 9.
    Classen, A., Heymans, P., Schobbens, P., Legay, A., Raskin, J.: Model checking lots of systems: efficient verification of temporal properties in software product lines. In: Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering, ICSE 2010, vol. 1, pp. 335–344. ACM, New York (2010)CrossRefGoogle Scholar
  10. 10.
    Cordy, M., Classen, A., Heymans, P., Schobbens, P.Y., Legay, A.: Managing evolution in software product lines: A model-checking perspective. In: Proceedings of VaMoS 2012, pp. 183–191. ACM (2012)Google Scholar
  11. 11.
    Cordy, M., Classen, A., Perrouin, G., Heymans, P., Schobbens, P.Y., Legay, A.: Simulation relation for software product lines: Foundations for scalable model-checking. In: Proceedings of the 34th International Conference on Software Engineering, ICSE 2012. IEEE (to appear, 2012)Google Scholar
  12. 12.
    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)CrossRefGoogle Scholar
  13. 13.
    Ebert, C., Jones, C.: Embedded software: Facts, figures, and future. Computer 42(4), 42–52 (2009)CrossRefGoogle Scholar
  14. 14.
    Engström, E., Runeson, P.: Software product line testing-a systematic mapping study. Information and Software Technology 53(1), 2–13 (2010)CrossRefGoogle Scholar
  15. 15.
    Fantechi, A., Gnesi, S.: A behavioural model for product families. In: Proceedings of the the 6th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering, ESEC-FSE 2007, pp. 521–524. ACM, New York (2007)Google Scholar
  16. 16.
    Fantechi, A., Gnesi, S.: Formal modeling for product families engineering. In: Proceedings of the 2008 12th International Software Product Line Conference, pp. 193–202. IEEE Computer Society, Washington, DC (2008)CrossRefGoogle Scholar
  17. 17.
    Fischbein, D., Uchitel, S., Braberman, V.: A foundation for behavioural conformance in software product line architectures. In: Proceedings of the ISSTA 2006 Workshop on Role of Software Architecture for Testing and Analysis, ROSATEA 2006, pp. 39–48. ACM, New York (2006)CrossRefGoogle Scholar
  18. 18.
    Gogolla, M., Parisi Presicce, F.: State diagrams in UML: A formal semantics using graph transformations. In: Proceedings PSMT, pp. 55–72 (1998)Google Scholar
  19. 19.
    Gruler, A., Leucker, M., Scheidemann, K.: Calculating and modeling common parts of software product lines. In: Proceedings of the 2008 12th International Software Product Line Conference, SPLC 2008, pp. 203–212. IEEE Computer Society, Washington, DC (2008)CrossRefGoogle Scholar
  20. 20.
    Gruler, A., Leucker, M., Scheidemann, K.: Modeling and Model Checking Software Product Lines. In: Barthe, G., de Boer, F.S. (eds.) FMOODS 2008. LNCS, vol. 5051, pp. 113–131. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  21. 21.
    Hessel, A., Larsen, K.G., Mikucionis, M., Nielsen, B., Pettersson, P., Skou, A.: Testing Real-Time Systems Using UPPAAL. In: Hierons, R.M., Bowen, J.P., Harman, M. (eds.) FORTEST. LNCS, vol. 4949, pp. 77–117. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  22. 22.
    Holt, N.E., Arisholm, E., Briand, L.: Technical report 2009-06: An eclipse plug-in for the flattening of concurrency and hierarchy in uml state machines. Tech. Rep. 2009-06, Simula Research Laboratory AS (2009)Google Scholar
  23. 23.
    Kalnins, A., Barzdins, J., Celms, E.: Model Transformation Language MOLA. In: Aßmann, U., Aksit, M., Rensink, A. (eds.) MDAFA 2003. LNCS, vol. 3599, pp. 62–76. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  24. 24.
    Kang, K.C., Cohen, S.G., Hess, J.A., Novak, W.E., Spencer Peterson, A.: Feature-Oriented domain analysis (FODA) feasibility study. Tech. rep., Software Engineering Institute, Carnegie Mellon University (1990)Google Scholar
  25. 25.
    Lauenroth, K., Pohl, K., Toehning, S.: Model checking of domain artifacts in product line engineering. In: Proceedings of the 2009 IEEE/ACM International Conference on Automated Software Engineering, ASE 2009, pp. 269–280. IEEE Computer Society, Washington, DC (2009)CrossRefGoogle Scholar
  26. 26.
    Li, H.C., Krishnamurthi, S., Fisler, K.: Interfaces for modular feature verification. In: Proceedings of the 17th IEEE International Conference on Automated Software Engineering, ASE 2002, pp. 195–204. IEEE Computer Society, Washington, DC (2002)CrossRefGoogle Scholar
  27. 27.
    Mathur, A.: Foundations of software testing. Pearson Education (2008)Google Scholar
  28. 28.
    Muller, P.-A., Fleurey, F., Jézéquel, J.-M.: Weaving Executability into Object-Oriented Meta-languages. In: Briand, L., Williams, C. (eds.) MoDELS 2005. LNCS, vol. 3713, pp. 264–278. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  29. 29.
    Myers, G.: The art of software testing. Wiley (1979)Google Scholar
  30. 30.
    OMG: OMG Unified Modeling Language TM ( OMG UML ), Superstructure. Tech. Rep. OMG (August 2011), http://www.omg.org/spec/UML/
  31. 31.
    Oster, S., Wöbbeke, A., Engels, G., Schürr, A.: Model-based software product lines testing survey. In: Zander, J., Schieferdecker, I., Mosterman, P.J. (eds.) Model-Based Testing for Embedded Systems. Computational Analysis, Synthesis, and Design of Dynamic Systems, pp. 339–382. CRC Press (September 2011)Google Scholar
  32. 32.
    Oster, S., Zink, M., Lochau, M., Grechanik, M.: Pairwise feature-interaction testing for spls: potentials and limitations. In: Proceedings of the 15th International Software Product Line Conference, SPLC 2011, vol. 2, pp. 6:1–6:8. ACM, New York (2011)Google Scholar
  33. 33.
    Oster, S., Zorcic, I., Markert, F., Lochau, M.: MoSo-PoLiTe: tool support for pairwise and model-based software product line testing. In: Proceedings of the 5th Workshop on Variability Modeling of Software-Intensive Systems, VaMoS 2011, pp. 79–82. ACM, New York (2011)CrossRefGoogle Scholar
  34. 34.
    Perrouin, G., Oster, S., Sen, S., Klein, J., Baudry, B., le Traon, Y.: Pairwise testing for software product lines: Comparison of two approaches. Software Quality Journal, 1–39 (August 2011)Google Scholar
  35. 35.
    Pohl, K., Böckle, G., Van Der Linden, F.: Software product line engineering: foundations, principles, and techniques. Springer-Verlag New York Inc. (2005)Google Scholar
  36. 36.
    Schobbens, P.Y., Heymans, P., Trigaux, J.C., Bontemps, Y.: Generic semantics of feature diagrams. Computer Networks 51(2), 456–479 (2007)MATHCrossRefGoogle Scholar
  37. 37.
    Thüm, T., Apel, S., Kästner, C., Kuhlemann, M., Schaefer, I., Saake, G.: Analysis Strategies for Software Product Lines. Tech. Rep. FIN-004-2012, School of Computer Science, University of Magdeburg, Germany (April 2012)Google Scholar
  38. 38.
    Tretmans, J.: Model Based Testing with Labelled Transition Systems. In: Hierons, R.M., Bowen, J.P., Harman, M. (eds.) FORTEST. LNCS, vol. 4949, pp. 1–38. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  39. 39.
    Utting, M., Legeard, B.: Practical model-based testing: a tools approach. Morgan Kaufmann (2007)Google Scholar
  40. 40.
    Wasowski, A.: Flattening statecharts without explosions. SIGPLAN Not. 39(7), 257–266 (2004)CrossRefGoogle Scholar
  41. 41.
    Weißleder, S.: Test models and coverage criteria for automatic model-based test generation with UML state machines. Ph.D. thesis, Humboldt-Universität zu Berlin (2010)Google Scholar
  42. 42.
    Ziadi, T., Jézéquel, J.M.: Product Line Engineering with the UML: Deriving Products. In: Pohl, K. (ed.) Software Product Lines, pp. 557–586. Springer (2006)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Xavier Devroey
    • 1
  • Maxime Cordy
    • 1
  • Gilles Perrouin
    • 1
  • Eun-Young Kang
    • 1
  • Pierre-Yves Schobbens
    • 1
  • Patrick Heymans
    • 1
    • 2
  • Axel Legay
    • 3
  • Benoit Baudry
    • 3
  1. 1.PReCISE Research Center, Faculty of Computer ScienceUniversity of NamurBelgium
  2. 2.INRIA Lille-Nord Europe, Université Lille 1 – LIFL – CNRSFrance
  3. 3.INRIA Rennes Bretagne AtlantiqueFrance

Personalised recommendations