Formalizing and implementing Gries' program development method in dynamic logic

https://doi.org/10.1016/0167-6423(92)90035-AGet rights and content
Under an Elsevier user license
open archive

Abstract

In his book, “The Science of Programming”, David Gries introduces a methodology for program development based on a guarded-command language with a predicate transformer semantics and an invariance rule for loops. It is “centered around the concept of a formal proof”.

However, the proofs referred to are not carried out in a formal system and are thus suceptible to errors. Therefore, and also because of the possibility to connect this method with other approaches to formal program development we deem it worthwhile to provide a machine-assisted formal framework for proof-guided program development.

This paper presents the formalization and implementation of Gries' method within the logical framework of an interactive verification and development shell system based on dynamic logic. The programs developed with the system are guaranteed to be correct and terminating with respect to the given specification. Some examples illustrate the implementation and its practical use.

Cited by (0)