Proving pointer programs in higher-order logic

  • Authors:
  • Farhad Mehta;Tobias Nipkow

  • Affiliations:
  • Department of Computer Science, ETH Zürich, Switzerland;Institut für Informatik, Technische Universität München, Germany

  • Venue:
  • Information and Computation - Special issue: 19th international conference on automated deduction (CADE-19)
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

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 Schor-Waite graph marking algorithm and present part of its readable proof in Isabelle/HOL.