Juggrnaut: Graph Grammar Abstraction for Unbounded Heap Structures

Jonathan Heinen, Thomas Noll, Stefan Rieger
2010 Electronical Notes in Theoretical Computer Science  
We present a novel abstraction framework for heap data structures that uses graph grammars, more precisely context-free hyperedge replacement grammars, as an intuitive formalism for efficiently modeling dynamic data structures. It aims at extending finite-state verification techniques to handle pointer-manipulating programs operating on complex dynamic data structures that are potentially unbounded in their size. We demonstrate how our framework can be employed for analysis and verification
more » ... oses by instantiating it for binary trees, and by applying this instantiation to the well-known Deutsch-Schorr-Waite traversal algorithm. Our approach is supported by a prototype tool, enabling the quick verification of essential program properties such as heap invariants, completeness, and termination.
doi:10.1016/j.entcs.2011.07.001 fatcat:qei3tex2pbhibje3wh43madw3a