Weakest Preconditions for High-Level Programs

  • Annegret Habel
  • Karl-Heinz Pennemann
  • Arend Rensink
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4178)


In proof theory, a standard method for showing the correctness of a program w.r.t. given pre- and postconditions is to construct a weakest precondition and to show that the precondition implies the weakest precondition. In this paper, graph programs in the sense of Habel and Plump 2001 are extended to programs over high-level rules with application conditions, a formal definition of weakest preconditions for high-level programs in the sense of Dijkstra 1975 is given, and a construction of weakest preconditions is presented.


Access Control Model Check Application Condition Graph Transformation Graph Grammar 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Baldan, P., Corradini, A., König, B.: Verifying finite-state graph grammars. In: Gardner, P., Yoshida, N. (eds.) CONCUR 2004. LNCS, vol. 3170, pp. 83–98. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  2. 2.
    Baldan, P., König, B.: Approximating the behaviour of graph transformation systems. In: Corradini, A., Ehrig, H., Kreowski, H.-J., Rozenberg, G. (eds.) ICGT 2002. LNCS, vol. 2505, pp. 14–29. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  3. 3.
    Baldan, P., König, B., König, B.: A logic for analyzing abstractions of graph transformation systems. In: Cousot, R. (ed.) SAS 2003. LNCS, vol. 2694, pp. 255–272. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  4. 4.
    Baldan, P., König, B., Rensink, A.: Graph grammar verification through abstraction. In: König, B., Montanari, U., Gardner, P. (eds.) Graph Transformations and Process Algebras for Modeling Distributed and Mobile Systems. 04241 Dagstuhl Seminar Proceedings (2005)Google Scholar
  5. 5.
    Clarke, E.M., Biere, A., Raimi, R., Zhu, Y.: Bounded model checking using satisfiability solving. Formal Methods in System Design 19(1), 7–34 (2001)zbMATHCrossRefGoogle Scholar
  6. 6.
    Corradini, A., Montanari, U., Rossi, F., Ehrig, H., Heckel, R., Löwe, M.: Algebraic approaches to graph transformation. In: Handbook of Graph Grammars and Computing by Graph Trans., vol. 1, pp. 163–245. World Scientific, Singapore (1997)CrossRefGoogle Scholar
  7. 7.
    Dijkstra, E.W.: A Discipline of Programming. Prentice-Hall, Englewood Cliffs (1976)zbMATHGoogle Scholar
  8. 8.
    Dijkstra, E.W., Scholten, C.S.: Predicate Calculus and Program Semantics. Springer, Heidelberg (1989)Google Scholar
  9. 9.
    dos Santos, O.M., Dotti, F.L., Ribeiro, L.: Verifying object-based graph grammars. ENTCS 109, 125–136 (2004)Google Scholar
  10. 10.
    Dotti, F.L., Foss, L., Ribeiro, L., dos Santos, O.M.: Verification of distributed object-based systems. In: Najm, E., Nestmann, U., Stevens, P. (eds.) FMOODS 2003. LNCS, vol. 2884, pp. 261–275. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  11. 11.
    Ehrig, H.: Introduction to the algebraic theory of graph grammars. In: Ng, E.W., Ehrig, H., Rozenberg, G. (eds.) Graph Grammars 1978. LNCS, vol. 73, pp. 1–69. Springer, Heidelberg (1979)CrossRefGoogle Scholar
  12. 12.
    Ehrig, H., Ehrig, K., De Lara, J., Taentzer, G., Varró, D., Varró-Gyapay, S.: Termination criteria for model transformation. In: Wermelinger, M., Margaria-Steffen, T. (eds.) FASE 2004. LNCS, vol. 2984, pp. 214–228. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  13. 13.
    Ehrig, H., Ehrig, K., Habel, A., Pennemann, K.-H.: Theory of constraints and application conditions: From graphs to high-level structures. Fundamenta Informaticae 72 (2006)Google Scholar
  14. 14.
    Ehrig, H., Ehrig, K., Prange, U., Taentzer, G.: Fundamentals of Algebraic Graph Transformation. EATCS Monographs of Theoretical Computer Science. Springer, Heidelberg (2006)Google Scholar
  15. 15.
    Ehrig, H., Habel, A., Padberg, J., Prange, U.: Adhesive high-level replacement systems: A new categorical framework for graph transformation. Fundamenta Informaticae 72 (2006)Google Scholar
  16. 16.
    Habel, A., Pennemann, K.-H.: Nested constraints and application conditions for high-level structures. In: Kreowski, H.-J., Montanari, U., Orejas, F., Rozenberg, G., Taentzer, G. (eds.) Formal Methods in Software and Systems Modeling. LNCS, vol. 3393, pp. 293–308. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  17. 17.
    Habel, A., Pennemann, K.-H.: Satisfiability of high-level conditions. In: Corradini, A., Ehrig, H., Montanari, U., Ribeiro, L., Rozenberg, G. (eds.) ICGT 2006. LNCS, vol. 4178, pp. 430–444. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  18. 18.
    Habel, A., Pennemann, K.-H., Rensink, A.: Weakest preconditions for high-level programs: Long version. Technical Report 8/06, University of Oldenburg (2006)Google Scholar
  19. 19.
    Habel, A., Plump, D.: Computational completeness of programming languages based on graph transformation. In: Honsell, F., Miculan, M. (eds.) FOSSACS 2001. LNCS, vol. 2030, pp. 230–245. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  20. 20.
    Halpern, J.Y., Vardi, M.Y.: Model checking vs. theorem proving: A manifesto. In: Allen, J., Fikes, R., Sandewall, E. (eds.) Proc. International Conference on Principles of Knowledge Representation and Reasoning, pp. 325–334. Morgan Kaufmann, San Francisco (1991)Google Scholar
  21. 21.
    Heckel, R., Wagner, A.: Ensuring consistency of conditional graph grammars. In: SEGRAGRA 1995. ENTCS, vol. 2, pp. 95–104 (1995)Google Scholar
  22. 22.
    Koch, M., Mancini, L.V., Parisi-Presicce, F.: Graph-based specification of access control policies. Journal of Computer and System Sciences (JCSS) 71, 1–33 (2005)zbMATHCrossRefMathSciNetGoogle Scholar
  23. 23.
    König, B., Kozioura, V.: Counterexample-guided abstraction refinement for the analysis of graph transformation systems. In: Hermanns, H., Palsberg, J. (eds.) TACAS 2006. LNCS, vol. 3920, pp. 197–211. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  24. 24.
    McMillan, K.L.: Using unfoldings to avoid the state explosion problem in the verification of asynchronous circuits. In: Probst, D.K., von Bochmann, G. (eds.) CAV 1992. LNCS, vol. 663, pp. 164–174. Springer, Heidelberg (1993)Google Scholar
  25. 25.
    Owre, S., Rushby, J.M., Shankar, N.: PVS: A prototype verification system. In: Kapur, D. (ed.) CADE 1992. LNCS, vol. 607, pp. 748–752. Springer, Heidelberg (1992)Google Scholar
  26. 26.
    Plump, D.: Termination of graph rewriting is undecidable. Fundamenta Informaticae 33(2), 201–209 (1998)zbMATHMathSciNetGoogle Scholar
  27. 27.
    Plump, D., Steinert, S.: Towards graph programs for graph algorithms. In: Ehrig, H., Engels, G., Parisi-Presicce, F., Rozenberg, G. (eds.) ICGT 2004. LNCS, vol. 3256, pp. 128–143. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  28. 28.
    Rensink, A.: Towards model checking graph grammars. In: Leuschel, M., Gruner, S., Presti, S.L. (eds.) Workshop on Automated Verification of Critical Systems (AVoCS), Technical Report DSSE-TR-2003-2, pp. 150–160. University of Southhampton (2003)Google Scholar
  29. 29.
    Rensink, A.: The GROOVE simulator: A tool for state space generation. In: Pfaltz, J.L., Nagl, M., Böhlen, B. (eds.) AGTIVE 2003. LNCS, vol. 3062, pp. 479–485. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  30. 30.
    Rensink, A.: Representing first-order logic by graphs. In: Ehrig, H., Engels, G., Parisi-Presicce, F., Rozenberg, G. (eds.) ICGT 2004. LNCS, vol. 3256, pp. 319–335. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  31. 31.
    Rensink, A., Schmidt, Á., Varró, D.: Model checking graph transformations: A comparison of two approaches. In: Ehrig, H., Engels, G., Parisi-Presicce, F., Rozenberg, G. (eds.) ICGT 2004. LNCS, vol. 3256, pp. 226–241. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  32. 32.
    Varró, D.: Towards symbolic analysis of visual modeling languages. ENTCS 72(3) (2003)Google Scholar
  33. 33.
    Varró, D.: Automated formal verification of visual modeling languages by model checking. Journal of Software and Systems Modelling 3(2), 85–113 (2004)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Annegret Habel
    • 1
  • Karl-Heinz Pennemann
    • 1
  • Arend Rensink
    • 2
  1. 1.University of OldenburgGermany
  2. 2.University of TwenteEnschedeThe Netherlands

Personalised recommendations