An Algebraic Framework for Verifying the Correctness of Hardware with Input and Output: A Formalization in HOL
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.
KeywordsOutput Behaviour Input Stream Memory Unit Output Stream Algebraic Framework
Unable to display preview. Download preview PDF.
- 2.Burch, J.R., Dill, D.L.: Automatic verification of pipelined microprocessor control. In: Dill, D.L. (ed.) CAV 1994. LNCS, vol. 818, pp. 68–80. Springer, Heidelberg (1994)Google Scholar
- 3.Clavel, M., Durán, F., Eker, S., Lincoln, P., Martí-Oliet, N., Meseguer, J., Quesada, J.: Maude: Specification and programming in rewrite logic. Technical report, Computer Science Laboratory, SRI International (1999)Google Scholar
- 5.Fox, A.C.J.: Algebraic Models for Advanced Microprocessors. PhD thesis, University of Wales Swansea (1998)Google Scholar
- 6.Fox, A.C.J.: An algebraic framework for modelling and verifying microprocessors using hol. Technical Report 512, University of Cambridge, Computer Laboratory (2001)Google Scholar
- 7.Furber, S.: ARM: system-on-chip architecture, 2nd edn. Addison-Wesley, Reading (2000)Google Scholar
- 8.Gordon, M.J.C.: HOL: A machine oriented formulation of higher order logic. Technical Report 42, University of Cambridge Computer Laboratory (1995)Google Scholar
- 14.Seal, D. (ed.): ARM Architectural Reference Manual, 2nd edn. Addison-Wesley, Reading (2001)Google Scholar
- 15.Stephens, R.: Algebraic Stream Processing. PhD thesis, Department of Computer Science, University College of Swansea (1994)Google Scholar
- 16.Thompson, B.C.: A Mathematical Theory of Synchronous Concurrent Algorithms. PhD thesis, Department of Computer Studies, University of Leeds (1987)Google Scholar
- 17.Tucker, J.V., Zucker, J.I.: Theory of computability over stream algebras and its application to the mathematical foundations of computer science. In: Havel, I.M., Koubek, V. (eds.) MFCS 1992. LNCS, vol. 629, pp. 62–80. Springer, Heidelberg (1992)Google Scholar
- 18.Wirsing, M.: Algebraic specification. In: van Leeuwen, J. (ed.) Handbook of Theoretical Computer Science, Volume B: Formal Models and Semantics, pp. 675–788. Elsevier, Amsterdam (1990)Google Scholar