Structuring Interactive Correctness Proofs by Formalizing Coding Idioms

Holger Gast
This paper examines a novel strategy for developing correctness proofs in interactive software verification for C programs. Rather than proceeding backwards from the generated verification conditions, we start by developing a library of the employed data structures and related coding idioms. The application of that library then leads to correctness proofs that reflect informal arguments about the idioms. We apply this strategy to the low-level memory allocator of the L4 microkernel, a case
more » ... discussed in the literature. 1998 ACM Subject Classification D.2.4 Software/Program Verification