Graph transformation systems are a general specification language for systems with dynamically changing topologies, such as mobile and distributed systems. Although in the last few years several analysis and verification methods have been proposed for graph transformation systems, counterexample-guided abstraction refinement has not yet been studied in this setting. We propose a counterexample-guided abstraction refinement technique which is based on the over-approximation of graph transformation systems (gts) by Petri nets. We show that a spurious counterexample is caused by merging nodes during the approximation. We present a technique for identifying these merged nodes and splitting them using abstraction refinement, which removes the spurious run. The technique has been implemented in the Augur tool and experimental results are discussed. Research supported by DFG project SANDS and SFB 627 (NEXUS). Proposition 6. If the refined over-approximation C G contains a spurious run J , then it corresponds to some spurious run J in C G . Proof. This follows from the fact, that from the Petri graph P of the refined approximation there exists a morphism β : P → P to the original Petri graph P , which can be shown by induction on the number of steps of the algorithm.
In counterexample-guided abstraction refinement based on unfoldings REF , the behaviour of a GTS is represented by a Petri graph representing an approximated unfolding.
Counterexample-guided abstraction refinement for the analysis of graph transformation systems
IN: PROC. OF TACAS ’06
Computer Science