Hoare Logic for ARM Machine Code

  • Magnus O. Myreen
  • Anthony C. J. Fox
  • Michael J. C. Gordon
Conference paper

DOI: 10.1007/978-3-540-75698-9_18

Part of the Lecture Notes in Computer Science book series (LNCS, volume 4767)
Cite this paper as:
Myreen M.O., Fox A.C.J., Gordon M.J.C. (2007) Hoare Logic for ARM Machine Code. In: Arbab F., Sirjani M. (eds) International Symposium on Fundamentals of Software Engineering. FSEN 2007. Lecture Notes in Computer Science, vol 4767. Springer, Berlin, Heidelberg

Abstract

This paper shows how a machine-code Hoare logic is used to lift reasoning from the tedious operational model of a machine language to a manageable level of abstraction without making simplifying assumptions. A Hoare logic is placed on top of a high-fidelity model of the ARM instruction set. We show how the generality of ARM instructions is captured by specifications in the logic and how the logic can be used to prove loops and procedures that traverse pointer-based data structures. The presented work has been mechanised in the HOL4 theorem prover and is currently being used to verify ARM machine code implementations of arithmetic and cryptographic operations.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Springer-Verlag Berlin Heidelberg 2007

Authors and Affiliations

  • Magnus O. Myreen
    • 1
  • Anthony C. J. Fox
    • 1
  • Michael J. C. Gordon
    • 1
  1. 1.Computer Laboratory, University of Cambridge, CambridgeUK

Personalised recommendations