Hostname: page-component-76fb5796d-zzh7m Total loading time: 0 Render date: 2024-04-25T17:12:22.199Z Has data issue: false hasContentIssue false

Interactive and automated proofs for graph transformations

Published online by Cambridge University Press:  27 July 2018

MARTIN STRECKER*
Affiliation:
Institut de Recherche en Informatique (IRIT), Université de Toulouse, France Email: martin.strecker@irit.fr

Abstract

This article explores methods to provide computer support for reasoning about graph transformations. We first define a general framework for representing graphs, graph morphisms and single graph rewriting steps. This setup allows for interactively reasoning about graph transformations. In order to achieve a higher degree of automation, we identify fragments of the graph description language in which we can reduce reasoning about global graph properties to reasoning about local properties, involving only a bounded number of nodes, which can be decided by Boolean satisfiability solving or even by deterministic computation of low complexity.

Type
Paper
Copyright
Copyright © Cambridge University Press 2018 

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)

References

Arendt, T., Biermann, E., Jurack, S., Krause, C. and Taentzer, G. (2010). Henshin: Advanced concepts and tools for in-place EMF model transformations. In: Proceedings of MoDELS'10, Lecture Notes in Computer Science, vol. 6394, Springer. URL http://www.mathematik.uni-marburg.de/~swt/Publikationen_Taentzer/Papiere06-09/ABJKT10.pdf.Google Scholar
Asztalos, M., Lengyel, L. and Levendovszky, T. (2010). Towards automated, formal verification of model transformations. In: International Conference on Software Testing, Verification, and Validation 15–24.Google Scholar
Balbiani, P., Echahed, R. and Herzig, A. (2010). A dynamic logic for termgraph rewriting. In: Ehrig, H., Rensink, A., Rozenberg, G. and Schürr, A. (eds.) Graph Transformations, Lecture Notes in Computer Science, vol. 6372, Springer, Berlin/Heidelberg, 5974. ISBN 978-3-642-15927-5. URL http://dx.doi.org/10.1007/978-3-642-15928-2_5.Google Scholar
Baldan, P., Corradini, A., Esparza, J., Heindel, T., König, B. and Kozioura, V. (2005). Verifying red-black trees. In: Proceedings of COncurrent Systems with dynaMIC Allocated Heaps, COSMICAH '05. Proceedings available as report RR-05-04 (Queen Mary, University of London).Google Scholar
Baldan, P., Corradini, A. and König, B. (2008). A framework for the verification of infinite-state graph transformation systems. Information and Computation 206, 869907. URL http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.155.4078&rep=rep1&type=pdf.Google Scholar
Ballarin, C. (2004). Locales and locale expressions in Isabelle/Isar. In: Berardi, S., Coppo, M. and Damiani, F. (eds.) Types for Proofs and Programs, Lecture Notes in Computer Science, vol. 3085, Springer, Berlin/Heidelberg, 3450. ISBN 978-3-540-22164-7. URL http://www21.in.tum.de/~ballarin/publications/types2003.pdf.Google Scholar
Berdine, J., Calcagno, C. and O'Hearn, P. (2004). A decidable fragment of separation logic. In: Lodaya, K. and Mahajan, M. (eds.) FSTTCS 2004: Foundations of Software Technology and Theoretical Computer Science, Lecture Notes in Computer Science, vol. 3328, Springer, Berlin/Heidelberg, 110117. ISBN 978-3-540-24058-7. URL http://dx.doi.org/10.1007/978-3-540-30538-5_9.Google Scholar
Courcelle, B. and Irène, Durand A. (May 2010) Verifying monadic second order graph properties with tree automata. In: Rhodes, C. (ed.) Proceedings of the 3rd European Lisp Symposium, Lisboa, France, 7–21. URL http://hal.archives-ouvertes.fr/hal-00522586. 15 pages.Google Scholar
Courcelle, B. and Engelfriet, J. (2011). Graph Structure and Monadic Second-Order Logic, A Language Theoretic Approach, Cambridge University Press. URL http://www.labri.fr/perso/courcell/Book/TheBook.pdf.Google Scholar
daCosta, S.A. Costa, S.A. and Ribeiro, L. (2009). Formal verification of graph grammars using mathematical induction. Electronic Notes in Theoretical Computer Science 240 (0), 4360. ISSN . URL http://www.sciencedirect.com/science/article/pii/S1571066109001662. Proceedings of the Eleventh Brazilian Symposium on Formal Methods (SBMF 2008).Google Scholar
daCosta, S. Costa, S. and Ribeiro, L. (2012). Verification of graph grammars using a logical approach. Science of Computer Programming 77 (4) 480504. ISSN . URL http://www.sciencedirect.com/science/article/pii/S016764231000033X. Brazilian Symposium on Formal Methods (SBMF 2008).Google Scholar
deBruijn, N.G. Bruijn, N.G. (1972). Lambda calculus notation with nameless dummies, a tool for automatic formula manipulation. Indagationes Mathematicae 34, 381392.Google Scholar
Ehrig, H., Heckel, R., Korff, M., Löwe, M., Ribeiro, L., Wagner, A. and Corradini, A. (1997). Algebraic approaches to graph transformation – Part II: Single pushout approach and comparison with double pushout approach. In: Rozenberg, G. (ed.) Handbook of Graph Grammars, World Scientific, 247312. ISBN 9810228848.Google Scholar
Ghamarian, A., deMol, M. Mol, M., Rensink, A., Zambon, E. and Zimakova, M. (2012). Modelling and analysis using GROOVE. International Journal on Software Tools for Technology Transfer 14, 1540. ISSN . URL http://dx.doi.org/10.1007/s10009-011-0186-x.Google Scholar
Habel, A. and Pennemann, K.-H. (2009). Correctness of high-level transformation systems relative to nested conditions. Mathematical Structures in Computer Science 19 (02) 245296. URL http://formale-sprachen.informatik.uni-oldenburg.de/~skript/fs-pub/mscs-HP09.pdf.Google Scholar
Habel, A., Pennemann, K.-H. and Rensink, A. (2006). Weakest preconditions for high-level programs. In: Corradini, A., Ehrig, H., Montanari, U., Ribeiro, L. and Rozenberg, G. (eds.), Graph Transformations (ICGT), Natal, Brazil, Lecture Notes in Computer Science, vol. 4178, Springer Verlag, Berlin, 445560. ISBN 3-540-38870-2.Google Scholar
Hosoya, H. (2011). XML Processing – The Tree-Automata Approach, Cambridge University Press.Google Scholar
Immerman, N., Rabinovich, A., Reps, T., Sagiv, M. and Yorsh, G. (2004). The boundary between decidability and undecidability for transitive-closure logics. In: Marcinkowski, J. and Tarlecki, A. (eds.) Computer Science Logic, Lecture Notes in Computer Science, vol. 3210, Springer, Berlin/Heidelberg, 160174. ISBN 978-3-540-23024-3. URL http://www.cs.umass.edu/~immerman/pub/cslPaper.pdf.Google Scholar
McPeak, S. and Necula, G. (2005). Data structure specifications via local equality axioms. In: Etessami, K. and Rajamani, S. (eds.) Computer Aided Verification, Lecture Notes in Computer Science, vol. 3576, Springer, Berlin/Heidelberg, 476490. ISBN 978-3-540-27231-1. URL http://www.cs.berkeley.edu/~necula/Papers/verifier-cav05.pdf.Google Scholar
Møller, A. and Schwartzbach, M.I. (2001). The pointer assertion logic engine. In: Proceedings of the PLDI 221231.Google Scholar
Naraschewski, W. and Wenzel, M. (1998). Object-oriented verification based on record subtyping in higher-order logic. In: Grundy, J. and Newey, M. (eds.) Theorem Proving in Higher Order Logics, Lecture Notes in Computer Science, vol. 1479, Springer, Berlin/Heidelberg, 349366. ISBN 978-3-540-64987-8. URL http://dx.doi.org/10.1007/BFb0055146.Google Scholar
Nipkow, T., Paulson, L. and Wenzel, M. (2002). Isabelle/HOL. A Proof Assistant for Higher-Order Logic, Lecture Notes in Computer Science, vol. 2283, Springer, Berlin/Heidelberg. URL http://isabelle.in.tum.de.Google Scholar
Orejas, F., Ehrig, H. and Prange, U. (2010). Reasoning with graph constraints. Formal Aspects of Computing 22 385422. ISSN 0934-5043. URL http://dx.doi.org/10.1007/s00165-009-0116-9.Google Scholar
Pennemann, K.-H. (2008a). An algorithm for approximating the satisfiability problem of high-level conditions. In: Proceedings of the Graph Transformation for Verification and Concurrency (GT-VC'07), Electronic Notes in Theoretical Computer Science, vol. 213, Elsevier, 75–94. URL http://formale-sprachen.informatik.uni-oldenburg.de/~skript/fs-pub/seeksat.pdf.Google Scholar
Pennemann, K.-H. (2008b). Resolution-like theorem proving for high-level conditions. In: H., Ehrig, Heckel, R., Rozenberg, G. and Taentzer, G. (eds.) Graph Transformations, Lecture Notes in Computer Science, vol. 5214, Springer, Berlin/Heidelberg, 289304. ISBN 978-3-540-87404-1. URL http://formale-sprachen.informatik.uni-oldenburg.de/~skript/fs-pub/procon.pdf.Google Scholar
Poskitt, C.M. and Plump, D. (2012). Hoare-style verification of graph programs. Fundamenta Informaticae, 118 (1-2): 135175, 2012. URL http://www.cs.york.ac.uk/plasma/publications/pdf/PoskittPlump.FundInf.12.pdf.Google Scholar
Rensink, A. (2005). The joys of graph transformation. Nieuwsbrief van de Nederlandse Vereniging voor Theoretische Informatica 9. URL http://eprints.eemcs.utwente.nl/1443/.Google Scholar
Reynolds, J.C. (2002). Separation logic: A logic for shared mutable data structures. In: 17th IEEE Symposium on Logic in Computer Science (LICS 2002), 22-25 July 2002, Copenhagen, Denmark, Proceedings. URL https://doi.org/10.1109/LICS.2002.1029817.Google Scholar
Ribeiro, L., Dotti, F.L., daCosta, S.A. Costa, S.A. and Dillenburg, F.C. (2010). Towards theorem proving graph grammars using Event-B. ECEASST, 30, 2010. In: Proceedings of International Colloquium on Graph and Model Transformation (GraMoT).Google Scholar
Strecker, M. (2008). Modeling and verifying graph transformations in proof assistants. In: Mackie, I. and Plump, D. (eds.) International Workshop on Computing with Terms and Graphs (TERMGRAPH), Electronic Notes in Theoretical Computer Science, vol. 203, Elsevier Science, 135148. URL http://www.irit.fr/~Martin.Strecker/Publications/termgraph07.html.Google Scholar
Strecker, M. (2011). Locality in reasoning about graph transformations. In: Varró, D. Varró, D. and Schürr, A. (eds.) Pre-Proceedings conf. AGTIVE, Budapest. URL http://www.irit.fr/~Martin.Strecker/Publications/agtive11.html.Google Scholar
Tarski, A. (1941). On the calculus of relations. The Journal of Symbolic Logic 6 (3), 7389. ISSN 00224812. URL http://www.jstor.org/stable/2268577.Google Scholar
Tran, H.N. and Percebois, C. (2012). Towards a rule-level verification framework for property-preserving graph transformations. In: Proceeding of the IEEE ICST Workshop on Verification and Validation of Model Transformations.Google Scholar
Varró, D. and Balogh, A. (2007). The model transformation language of the VIATRA2 framework. Science of Computer Programming 68 (3) 214234. ISSN 0167-6423. URL http://www.sciencedirect.com/science/article/B6V17-4P47GBW-1/2/3ccc0f0270a5cc6a792aa3320cc65689. Special Issue on Model Transformation.Google Scholar
Varró, D. (May 2004). Automated formal verification of visual modeling languages by model checking. Journal of Software and Systems Modeling 3 (2) 85113.Google Scholar
Yorsh, G., Rabinovich, A.M., Sagiv, M., Meyer, A. and Bouajjani, A. (2007). A logic of reachable patterns in linked data-structures. Journal of Logic and Algebraic Programming 73 (1-2) 111142. URL http://dx.doi.org/10.1016/j.jlap.2006.12.001.Google Scholar
Zambon, E. and Rensink, A. (2011). Using graph transformations and graph abstractions for software verification. Electronic Communications of the EASST, 38. ISSN 1863-2122. URL http://journal.ub.tu-berlin.de/eceasst/article/view/560.Google Scholar