Skip to main content

An Algebraic Framework for Verifying the Correctness of Hardware with Input and Output: A Formalization in HOL

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 3629))

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.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Aagaard, M.D., Cook, B., Day, N.A., Jones, R.B.: A framework for microprocessor correctness statements. In: Margaria, T., Melham, T.F. (eds.) CHARME 2001. LNCS, vol. 2144, pp. 433–448. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  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 

  4. Ehrig, H., Mahr, B.: Fundamentals of Algebraic Specification I: Equations and Initial Semantics. EATCS Monograph, vol. 6. Springer, Heidelberg (1985)

    MATH  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 

  9. Gordon, M., Wadsworth, C.P., Milner, R.: Edinburgh LCF. LNCS, vol. 78. Springer, Heidelberg (1979)

    MATH  Google Scholar 

  10. Harman, N.A., Tucker, J.V.: Algebraic models and the correctness of microprocessors. In: Milne, G.J., Pierre, L. (eds.) CHARME 1993. LNCS, vol. 683. Springer, Heidelberg (1993)

    Chapter  Google Scholar 

  11. Harman, N.A., Tucker, J.V.: Algebraic models of microprocessors: Architecture and organisation. Acta Informatica 33(5), 421–456 (1996)

    Article  MATH  MathSciNet  Google Scholar 

  12. Manolios, P.: Correctness of pipelined machines. In: Johnson, S.D., Hunt Jr., W.A. (eds.) FMCAD 2000. LNCS, vol. 1954, pp. 161–178. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  13. Sawada, J., Hunt Jr., W.A.: Verification of FM9801: An out-of-order model with speculative execution, exceptions, and program-modifying capability. Formal Methods in System Design 20(2), 187–222 (2002)

    Article  MATH  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 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Fox, A. (2005). An Algebraic Framework for Verifying the Correctness of Hardware with Input and Output: A Formalization in HOL. In: Fiadeiro, J.L., Harman, N., Roggenbach, M., Rutten, J. (eds) Algebra and Coalgebra in Computer Science. CALCO 2005. Lecture Notes in Computer Science, vol 3629. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11548133_11

Download citation

  • DOI: https://doi.org/10.1007/11548133_11

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-28620-2

  • Online ISBN: 978-3-540-31876-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics