Title :
Tool support for invariant based programming
Author :
Back, Ralph-Johan ; Myreen, Magnus
Author_Institution :
Dept. of Comput. Sci., Abo Akad. Univ., Turku, Finland
Abstract :
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 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.
Keywords :
automatic programming; program control structures; program verification; interactive theorem prover; invariant based programming; loop invariant; mathematics editor; program construction; program correctness proof; program error detection; program postcondition; program precondition; program verification; tool support; Algorithm design and analysis; Automatic programming; Computer science; Logic programming; Mathematics; Programming profession;
Conference_Titel :
Software Engineering Conference, 2005. APSEC '05. 12th Asia-Pacific
Print_ISBN :
0-7695-2465-6
DOI :
10.1109/APSEC.2005.104