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.
| Original language | English |
|---|---|
| Pages (from-to) | 200-227 |
| Number of pages | 28 |
| Journal | Information and Computation |
| Volume | 199 |
| Issue number | 1-2 |
| DOIs | |
| State | Published - 25 May 2005 |
| Event | 19th International Conference on Automated Deduction (CADE-19) - Duration: 28 Jul 2003 → 28 Jul 2003 |
Keywords
- Higher-order logic
- Hoare logic
- Pointer programs
- Schorr-Waite algorithm
- Verification
Fingerprint
Dive into the research topics of 'Proving pointer programs in higher-order logic'. Together they form a unique fingerprint.Cite this
- APA
- Author
- BIBTEX
- Harvard
- Standard
- RIS
- Vancouver