Proving Pointer Programs in Higher-Order Logic

Abstract

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 higherlevel 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. 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 the readable proof in Isabelle/HOL.

DOI: 10.1007/978-3-540-45085-6_10

Extracted Key Phrases

1 Figure or Table

Statistics

01020'04'06'08'10'12'14'16
Citations per Year

154 Citations

Semantic Scholar estimates that this publication has 154 citations based on the available data.

See our FAQ for additional information.

Cite this paper

@inproceedings{Mehta2003ProvingPP, title={Proving Pointer Programs in Higher-Order Logic}, author={Farhad Mehta and Tobias Nipkow}, booktitle={CADE}, year={2003} }