Arrow Research search
Back to I&C

I&C 2005

Proving pointer programs in higher-order logic

Journal Article journal-article Computer Science · Theoretical Computer Science

Abstract

Building on the work of Burstall, this paper develops sound modelling and reasoning methods for imperative programs with pointers: heaps are modelled as mappings from addresses to values, and pointer structures are mapped to higher-level data types for verification. The programming language is embedded in higher-order logic. Its Hoare logic is derived. The whole development is purely definitional and thus sound. Apart from some smaller examples, the viability of this approach is demonstrated with a non-trivial case study. We show the correctness of the Schorr–Waite graph marking algorithm and present part of its readable proof in Isabelle/HOL.

Authors

Keywords

  • Pointer programs
  • Verification
  • Hoare logic
  • Higher-order logic
  • Schorr–Waite algorithm

Context

Venue
Information and Computation
Archive span
1987-2026
Indexed papers
3021
Paper id
1026380988934948384
v2026.09.13