## Derivation of Data Intensive Algorithms by Formal Transformation: The Schorr-Waite Graph Marking Algorithm (1996)

Citations: | 36 - 25 self |

### BibTeX

@MISC{Ward96derivationof,

author = {Martin Ward},

title = {Derivation of Data Intensive Algorithms by Formal Transformation: The Schorr-Waite Graph Marking Algorithm},

year = {1996}

}

### Years of Citing Articles

### OpenURL

### Abstract

In this paper we consider a particular class of algorithms which present certain difficulties to formal verification. These are algorithms which use a single data structure for two or more purposes, which combine program control information with other data structures or which are developed as a combination of a basic idea with an implementation technique. Our approach is based on applying proven semantics-preserving transformation rules in a wide spectrum language. Starting with a set theoretical specification of "reachability" we are able to derive iterative and recursive graph marking algorithms using the "pointer switching" idea of Schorr and Waite. There have been several proofs of correctness of the Schorr-Waite algorithm, and a small number of transformational developments of the algorithm. The great advantage of our approach is that we can derive the algorithm from its specification using only general-purpose transformational rules: without the need for complicated induction arg...