The PROGRES approach: language and environment
Handbook of graph grammars and computing by graph transformation
Proceedings of the 22nd international conference on Software engineering
An axiomatic basis for computer programming
Communications of the ACM
Functional Programming and Parallel Graph Rewriting
Functional Programming and Parallel Graph Rewriting
Designing the automatic transformation of visual languages
Science of Computer Programming - Special issue on applications of graph transformations (GRATRA 2000)
Java Program Verification via a Hoare Logic with Abrupt Termination
FASE '00 Proceedings of the Third Internationsl Conference on Fundamental Approaches to Software Engineering: Held as Part of the European Joint Conferences on the Theory and Practice of Software, ETAPS 2000
A Programming Logic for Sequential Java
ESOP '99 Proceedings of the 8th European Symposium on Programming Languages and Systems
Computational Completeness of Programming Languages Based on Graph Transformation
FoSSaCS '01 Proceedings of the 4th International Conference on Foundations of Software Science and Computation Structures
Relabelling in Graph Transformation
ICGT '02 Proceedings of the First International Conference on Graph Transformation
Proof and System-Reliability
The Implementation of Functional Programming Languages (Prentice-Hall International Series in Computer Science)
A framework for the verification of infinite-state graph transformation systems
Information and Computation
Abstracting Complex Data Structures by Hyperedge Replacement
ICGT '08 Proceedings of the 4th international conference on Graph Transformations
Towards the Verification of Attributed Graph Transformation Systems
ICGT '08 Proceedings of the 4th international conference on Graph Transformations
Precise Semantics of EMF Model Transformations by Graph Transformation
MoDELS '08 Proceedings of the 11th international conference on Model Driven Engineering Languages and Systems
Correctness of high-level transformation systems relative to nested conditions†
Mathematical Structures in Computer Science
The Graph Programming Language GP
CAI '09 Proceedings of the 3rd International Conference on Algebraic Informatics
Verification of Sequential and Concurrent Programs
Verification of Sequential and Concurrent Programs
Compositional Verification of Architectural Refactorings
Architecting Dependable Systems VI
On translating UML models into graph transformation systems
Journal of Visual Languages and Computing
Verification of graph transformation systems with context-free specifications
ICGT'10 Proceedings of the 5th international conference on Graph transformations
A hoare calculus for graph programs
ICGT'10 Proceedings of the 5th international conference on Graph transformations
Formal analysis of functional behaviour for model transformations based on triple graph grammars
ICGT'10 Proceedings of the 5th international conference on Graph transformations
GrGen: a fast SPO-based graph rewriting tool
ICGT'06 Proceedings of the Third international conference on Graph Transformations
Weakest preconditions for high-level programs
ICGT'06 Proceedings of the Third international conference on Graph Transformations
On verifying ATL transformations using 'off-the-shelf' SMT solvers
MODELS'12 Proceedings of the 15th international conference on Model Driven Engineering Languages and Systems
Verification of graph programs
ICGT'12 Proceedings of the 6th international conference on Graph Transformations
Hi-index | 0.00 |
GP (for Graph Programs) is an experimental nondeterministic programming language for solving problems on graphs and graph-like structures. The language is based on graph transformation rules, allowing visual programming at a high level of abstraction. In particular, GP frees programmers from dealing with low-level data structures. In this paper, we present a Hoare-style proof system for verifying the partial correctness of (a subset of) graph programs. The pre- and post-conditions of the calculus are nested graph conditions with expressions, a formalism for specifying both structural graph properties and properties of labels. We show that our proof system is sound with respect to GP's operational semantics and give examples of its use.