An algebraic framework for verifying the correctness of hardware with input and output: a formalization in HOL

  • Authors:
  • Anthony Fox

  • Affiliations:
  • Computer Laboratory, University of Cambridge

  • Venue:
  • CALCO'05 Proceedings of the First international conference on Algebra and Coalgebra in Computer Science
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

The hol-4 proof system has been used to implement an algebraic framework for verifying the correctness of hardware with input and output. Implementations and specifications are modelled as iterated maps, with input and output modelled using streams. The correctness model supports three types of abstraction: temporal abstraction (with immersions), data abstraction, and stream abstraction. This work has been used to formally verify the ARM6 microprocessor. This paper discusses this processor's input and output behaviour and shows how this has been modelled and verified in hol. The verification is believed to be the first complete formal verification of a commercial off-the-shelf (COTS) processor. The definition of correctness given here is new – it is suited to verifying ARM's block data transfer instructions, these load and store sets of registers.