This chapter targets the teaching of formal methods to Bachelor students who come into contact with formal methods for the first time. We introduce a program logic and a tool based on KeY that has been designed specifically for teaching purposes. We designed a calculus to realize a forward symbolic execution style of reasoning in the same spirit as the JavaDL calculus, but we stay close to the formalism used in a Hoare-style calculus, such that students are not inhibited from using standard text books.
With this tool students can now easily check intermediate steps in their solution, e.g., if they work with a correct loop invariant. Instructors can easily establish the correctness of electronically submitted assignments.
KeywordsProgram Variable Proof Obligation Symbolic Execution Rule Application Total Correctness
Unable to display preview. Download preview PDF.