Tool support for invariant based programming

R.-J. Back, M. Myreen
2005 12th Asia-Pacific Software Engineering Conference (APSEC'05)  
Invariant based programming is an approach to program construction where we provide the program pre-and postconditions as well as loop invariants before we construct the code itself. This approach allows us to construct a program and its correctness proof hand in hand. We describe here an extension to an existing mathematics editor that supports this style of program construction. The main help that the tool provides is automatic simplification of verification conditions that are generated in
more » ... are generated in the programming process. The tool shows the user a check list of those conditions that it was not able to prove automatically. The user can use this check list to complete the proof (either manually or using an interactive theorem prover) or to find errors in the program.
doi:10.1109/apsec.2005.104 dblp:conf/apsec/BackM05 fatcat:owyug5zlevcavjhjeuu7kzhsue