Programming with Verification Conditions
暂无分享,去创建一个
This paper contains an exposition of the method of programming with verification conditions. Although this method has much in common with the one discussed by Dijkstra in A Disciplne of Programming, it is shown to have the advantage in simplicity and flexibility. The simplicity is the result of the method's being directly based on Floyd's inductive assertions The method is flexible becasue of the way in which the program is constructed in two stages. In the first stage, a set of verification conditions is collected which corresponds to a program in "flowgraph" form. In this stage sequencing control is of no concern to the progmmer. Control is introduced in the second stage, which consists of automatable applications of translation and optimization rules, resulting in conventional code. Although our method has no use for the sequencing primitives of "structured programming," it is highly secure and systematic.
[1] John C. Reynolds. Programming with Transition Diagrams , 1978 .
[2] Brian W. Kernighan,et al. Elements of Programming Style , 1974 .
[3] Richard Waldinger,et al. Achieving several goals simultaneously , 1977 .
[4] Edsger W. Dijkstra,et al. Notes on structured programming , 1970 .
[5] Robert A. Kowalski,et al. Algorithm = logic + control , 1979, CACM.