Graph abstraction and abstract graph transformations (Amended version)

Many important systems such as concurrent heap-manipulating programs, communication networks, or distributed algorithms, are hard to verify due to their inherent dynamics and unboundedness. Graphs are an intuitive representation for the states of these systems, where transitions can be conveniently described by graph transformation rules. We present a framework for the abstraction of graphs supporting abstract graph transformation. The abstraction method naturally generalises previous approaches to abstract graph transformation. The set of possible abstract graphs is finite. This has the pleasant consequence of generating a finite transition system for any start graph and any finite set of transformation rules. Moreover, abstraction preserves a simple logic for expressing properties on graph nodes. The precision of the abstraction can be adjusted according to the properties expressed in this logic that are to be verified.

[1]  Parosh Aziz Abdulla,et al.  Regular Tree Model Checking , 2002, CAV.

[2]  Arend Rensink,et al.  Canonical Graph Shapes , 2004, ESOP.

[3]  Reinhard Wilhelm,et al.  Parametric shape analysis via 3-valued logic , 1999, POPL '99.

[4]  John C. Reynolds,et al.  Separation logic: a logic for shared mutable data structures , 2002, Proceedings 17th Annual IEEE Symposium on Logic in Computer Science.

[5]  Antoine Meyer,et al.  A logic of reachable patterns in linked data-structures , 2006, J. Log. Algebraic Methods Program..

[6]  Marcus Nilsson,et al.  Regular Model Checking , 2000, CAV.

[7]  Reinhard Wilhelm,et al.  Solving shape-analysis problems in languages with destructive updating , 1998, TOPL.

[8]  Benjamin Rossman,et al.  Existential positive types and preservation under homomorphisms , 2005, 20th Annual IEEE Symposium on Logic in Computer Science (LICS' 05).

[9]  Ahmed Bouajjani,et al.  Abstract regular (tree) model checking , 2012, International Journal on Software Tools for Technology Transfer.

[10]  Arend Rensink The GROOVE Simulator: A Tool for State Space Generation , 2003, AGTIVE.

[11]  Jörg Kreiker Analysis of communication topologies by partner abstraction , 2006 .

[12]  Ahmed Bouajjani,et al.  Abstract Regular Model Checking , 2004, CAV.

[13]  Shmuel Sagiv,et al.  TVLA: A System for Implementing Static Analyses , 2000, SAS.

[14]  Arend Rensink,et al.  Abstract Graph Transformation , 2006, SVV@ICFEM.