This book explains how to prove programs correct using dynamic logic and refinement.
This book is about ensuring that software behaves as it is supposed to behave. More precisely, it is concerned with the deductive verification of the compliance of software implementations with their formal specification.
Two successful ideas in program verification are integrated into a new approach which combines the advantages of both: Dynamic logic is brought together with verification on an intermediate verification language.
Program verification combines the difficulties of two tasks in one: the difficulty of verifying algorithms and the problems of verification on implementation level. We propose a methodology to decompose this difficult task into two easier tasks using the well-established technique of refinement.
Mattias Ulbrich
Dieses Buch entstand im Rahmen meiner Dissertation am Karlsruher Institut für Technologie.
Verifikation Refinement Intermediate Language Dynamic Logic