Correctness for Beginners

Stepwise refinement can be formalised in a natural way by regarding specifications as unimplemented program components. We present a graphical notation for specifications and their refinement rules which supports this approach. The resulting development style is proposed as an appropriate model for introductory programming instruction.

[1]  C. A. R. Hoare,et al.  The Weakest Prespecification , 1987, Information Processing Letters.

[2]  Ken Robinson,et al.  Specification statements and refinements , 1987 .

[3]  Edsger W. Dijkstra,et al.  A Discipline of Programming , 1976 .

[4]  Ian J. Hayes,et al.  Specification case studies , 1987 .