Lightweight Symbolic Verification of Graph Transformation Systems with Off-the-Shelf Hardware Model Checkers

Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9762)

Abstract

We present a novel symbolic bounded model checking approach to test reachability properties of model-driven software implementations. Given a concrete initial state of a software system, a type graph, and a set of graph transformations, which describe the system’s structure and its behavior, the system is tested against a reachability property that is expressed in terms of a graph constraint. Without any user intervention, our approach exploits state-of-the-art model checking technologies successfully used in hardware industry. The efficiency of our approach is demonstrated in two case studies.

References

  1. 1.
    Baier, C., Katoen, J.-P.: Principles of Model Checking. MIT Press, Cambridge (2008)MATHGoogle Scholar
  2. 2.
    Baresi, L., Spoletini, P.: On the use of alloy to analyze graph transformation systems. In: Corradini, A., Ehrig, H., Montanari, U., Ribeiro, L., Rozenberg, G. (eds.) ICGT 2006. LNCS, vol. 4178, pp. 306–320. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  3. 3.
    Baudry, B., Ghosh, S., Fleurey, F., France, R.B., Le Traon, Y., Mottu, J.-M.: Barriers to systematic model transformation testing. Commun. ACM 53(6), 139–143 (2010)CrossRefGoogle Scholar
  4. 4.
    Biermann, E., Ermel, C., Taentzer, G.: Lifting parallel graph transformation concepts to model transformation based on the eclipse modeling framework. Electron. Commun. ECEASST 26 (2010)Google Scholar
  5. 5.
    Biermann, E., Ermel, C., Taentzer, G.: Formal foundation of consistent EMF model transformations by algebraic graph transformation. Softw. Syst. Model. 11(2), 227–250 (2012)CrossRefGoogle Scholar
  6. 6.
    Bill, R., Gabmeyer, S., Kaufmann, P., Seidl, M.: Model checking of CTL-extended OCL specifications. In: Combemale, B., Pearce, D.J., Barais, O., Vinju, J.J. (eds.) SLE 2014. LNCS, vol. 8706, pp. 221–240. Springer, Heidelberg (2014)Google Scholar
  7. 7.
    Bradley, A.R.: SAT-based model checking without unrolling. In: Jhala, R., Schmidt, D. (eds.) VMCAI 2011. LNCS, vol. 6538, pp. 70–87. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  8. 8.
    Czarnecki, K., Helsen, S.: Feature-based survey of model transformation approaches. IBM Syst. J. 45(3), 621–645 (2006)CrossRefGoogle Scholar
  9. 9.
    Dijkstra, E.W.: Cooperating sequential processes, ewd 123. https://www.cs.utexas.edu/users/EWD/transcriptions/EWD01xx/EWD123.html
  10. 10.
    Dijkstra, E.W.: The humble programmer. Commun. ACM 15(10), 859–866 (1972)CrossRefGoogle Scholar
  11. 11.
    Ehrig, H., Ehrig, K., Prange, U., Taentzer, G.: Fundamentals of Algebraic Graph Transformation. Monographs in Theoretical Computer Science. An EATCS Series. Springer, Heidelberg (2006)MATHGoogle Scholar
  12. 12.
    Hoare, C.A.R.: Communicating Sequential Processes. Prentice-Hall International, Upper saddle River (1985)MATHGoogle Scholar
  13. 13.
    Jackson, D.: Automating first-order relational logic. In: Proceedings of the 8th ACM SIGSOFT International Symposium on Foundations of Software Engineering, pp. 130–139. ACM (2000)Google Scholar
  14. 14.
    Jackson, D.: Alloy: a lightweight object modelling notation. ACM Trans. Softw. Eng. Methodol. 11(2), 256–290 (2002)CrossRefGoogle Scholar
  15. 15.
    James, P., Moller, F., Nguyen, H.N., Roggenbach, M., Schneider, S.A., Treharne, H.: On modelling and verifying railway interlockings. Tracking Train Lengths Sci. Comput. Program. 96, 315–336 (2014)CrossRefGoogle Scholar
  16. 16.
    Kastenberg, H., Rensink, A.: Model checking dynamic states in GROOVE. In: Valmari, A. (ed.) SPIN 2006. LNCS, vol. 3925, pp. 299–305. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  17. 17.
    McBurney, D.L., Sleep, M.R.: Graph rewriting as a computational model. In: Yonezawa, A., Ito, T. (eds.) Concurrency: Theory, Language, And Architecture. LNCS, vol. 491, pp. 235–256. Springer, Heidelberg (1989)CrossRefGoogle Scholar
  18. 18.
    Naur, P., Randell, B. (eds.) Software Engineering: Report of a Conference Sponsored by the NATO Science Committee, Garmisch, Germany, 7–11 October 1968, Brussels, Scientific Affairs Division, NATO. NATO (1969)Google Scholar
  19. 19.
    Niemann, P., Hilken, F., Gogolla, M., Wille, R.: Assisted generation of frame conditions for formal models. In: Proceedings of the 2015 Design, Automation & Test in Europe Conference & Exhibition, DATE 2015, San Jose, CA, USA, pp. 309–312. EDA Consortium (2015)Google Scholar
  20. 20.
    Object Management Group OMG. OMG Unified Modeling Language (OMG UML), Infrastructure V2.4.1, August 2011. http://www.omg.org/spec/UML/2.4.1/
  21. 21.
    Rozenberg, G. (ed.): Handbook of Graph Grammars and Computing by Graph Transformations. Foundations, vol. 1. World Scientific, Singapore (1997)MATHGoogle Scholar
  22. 22.
    Schmidt, A., Varró, D.: CheckVML: a tool for model checking visual modeling languages. In: Stevens, P., Whittle, J., Booch, G. (eds.) UML 2003. LNCS, vol. 2863, pp. 92–95. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  23. 23.
    Sendall, S., Kozaczynski, W.: Model transformation: the heart and soul of model-driven software development. IEEE Softw. 20(5), 42–45 (2003)CrossRefGoogle Scholar
  24. 24.
    Tarski, A.: On the calculus of relations. J. Symb. Log. 6(3), 73–89 (1941)MathSciNetCrossRefMATHGoogle Scholar
  25. 25.
    Torlak, E.: A Constraint Solver for Software Engineering: Finding Models and Cores of Large Relational Specifications. Ph.D. Thesis, Massachusetts Institute of Technology, 2009. AAI0821754Google Scholar
  26. 26.
    Torlak, E., Jackson, D.: Kodkod: a relational model finder. In: Grumberg, O., Huth, M. (eds.) TACAS 2007. LNCS, vol. 4424, pp. 632–647. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  27. 27.
    Zeller, A.: Why Programs Fail: A Guide to Systematic Debugging, 2nd edn. Morgan Kaufmann Publishers Inc., San Francisco (2009)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  1. 1.Security Engineering GroupTU DarmstadtDarmstadtGermany
  2. 2.Institute for Formal Models and VerificationJKU LinzLinzAustria

Personalised recommendations