Verification of the Deutsch-Schorr-Waite Graph Marking Algorithm Using Data Refinement

Viorel Preoteasa and Ralph-Johan Back

28 May 2010


The verification of the Deutsch-Schorr-Waite graph marking algorithm is used as a benchmark in many formalizations of pointer programs. The main purpose of this mechanization is to show how data refinement of invariant based programs can be used in verifying practical algorithms. The verification starts with an abstract algorithm working on a graph given by a relation next on nodes. Gradually the abstract program is refined into Deutsch-Schorr-Waite graph marking algorithm where only one bit per graph node of additional memory is used for marking.
BSD License

Change history

[2012-01-05] Updated for the new definition of data refinement and the new syntax for demonic and angelic update statements

Depends On


Related Entries