Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article

Efficient Simulation of Formal Processor Models

Published: 01 May 2001 Publication History

Abstract

Computer systems under development are routinely modeled by simulators, and formal verification can be integrated into conventional computer system development by reasoning directly about such simulators. Simulators must be extremely fast to be usable in a real development effort. We have crafted a model for a simple processor in the logic of the ACL2 theorem prover that supports both formal analysis and efficient execution, with performance near that of a simulator written in C. We demonstrate our approach using this simple model and indicate how we applied it to our latest microprocessor.

References

[1]
1. K.L. Albin, B.C. Brock, W.A. Hunt, Jr., and L.M. Smith, "Testing the FM9001 microprocessor," Technical Report 90, Computational Logic, Inc., January 1995.
[2]
2. Averstar Inc. JWatch home page, 1998. http://www.jwatch.com.
[3]
3. W.R. Bevier, "KIT: A study in operating system verification," IEEE Transactions on Software Engineering, Vol. 15, No. 11, pp. 1368-81, 1989.
[4]
4. W.R. Bevier, W.A. Hunt, Jr., J.S. Moore, and W.D. Young, "An approach to systems verification," Journal of Automated Reasoning, Vol. 5, No. 4, pp. 411-428, 1989.
[5]
5. M. Bickford and D. Jamsek, "Formal specification and verification of VHDL," in M. Srivas and A. Camilleri (Eds.), Formal Methods in Computer-Aided Design--FMCAD, Vol. 1166 of Lecture Notes in Computer Science, Springer-Verlag, Palo Alto, CA, 1996.
[6]
6. R.S. Boyer and J. S. Moore, A Computational Logic Handbook, Academic Press, Boston, 1988.
[7]
7. R.S. Boyer and J. S. Moore, "Mechanized formal reasoning about programs and computing machines," in R. Veroff (Ed.), Automated Reasoning and Its Applications: Essays in Honor of Larry Wos., MIT Press, Cambridge, MA, 1996.
[8]
8. R.S. Boyer and Y. Yu, "Automated proofs of object code for a widely used microprocessor," Journal of the ACM, Vol. 43, No. 1, pp. 166-192, 1996.
[9]
9. B. Brock, ACL2 Integer Hardware Specification (IHS) Books, 1998. (available on ACL2 home page).
[10]
10. B. Brock, M. Kaufmann, and J.S. Moore, "ACL2 theorems about commercial microprocessors," in M. Srivas and A. Camilleri, (Eds.), Formal Methods in Computer-Aided Design--FMCAD, vol. 1166 of Lecture Notes in Computer Science, Springer-Verlag, Palo Alto, CA, 1996.
[11]
11. B.C. Brock and W.A. Hunt, Jr., "The DUAL-EVAL hardware description language and its use in the formal specification and verification of the FM9001 microprocessor," Formal Methods in System Design, Vol. 11, No. 1. pp. 71-104, July 1997.
[12]
12. D. Greve, M. Wilding, and D. Hardin, 1999 ACL2 Workshop Presentations, 1999, http://hokiepokie. org/docs.
[13]
13. D.A. Greve, "Symbolic simulation of the JEM1 microprocessor," in Formal Methods in Computer-Aided Design--FMCAD, Lecture Notes in Computer Science, Springer-Verlag, Palo Alto, CA, 1998.
[14]
14. D.A. Greve and M.M. Wilding, "Stack-based Java a back-to-future step," Electronic Engineering Times, p. 92, January 12, 1998.
[15]
15. S.P. Harbison and G.L. Steele, Jr., C--A Reference Manual, Prentice Hall, Upper Saddle River, NJ, 1991.
[16]
16. D. Hardin, D. Greve, M. Wilding, and J. Cowles, "Single-threaded formal processor models: Enabling proof and high-speed execution," Technical Report, Rockwell Collins Advanced Technology Center, Cedar Rapids, IA 52498, 1999, http://hokiepokie.org/docs.
[17]
17. D. Hardin, M. Wilding, and D. Greve, "Transforming the theorem prover into a digital design tool: From concept car to off-road vehicle," in A.J. Hu and M.Y. Vardi (Eds.), Computer-Aided Verification--CAV '98, vol. 1427 of Lecture Notes in Computer Science, Springer-Verlag, Vancouver, Canada, 1998.
[18]
18. M. Kaufmann and J. S. Moore, "An industrial strength theorem prover for a logic based on Common Lisp," IEEE Transactions on Software Engineering, Vol. 23, No. 4, pp. 203-213, April 1997.
[19]
19. T. Lindholm and F. Yellin, The Java Virtual Machine Specification, Addison Wesley, Reading, Massachusetts, 1996.
[20]
20. R.S. Boyer and J S. Moore, Single-Threaded Objects in ACL2, 1999, http://www.cs.utexas.edu/users/ moore/publications.
[21]
21. S.P. Miller, D.A. Greve, M.M. Wilding, and M. Srivas, "Formal verification of the AAMP-FV microcode," Technical Report, Rockwell Collins, Inc., Cedar Rapids, IA, 1996.
[22]
22. S.P. Miller and M. Srivas, "Formal verification of the AAMP5 microprocessor: A case study in the industrial use of formal methods," in WIFT'95: Workshop on Industrial-Strength Formal Specification Techniques, Boca Raton, FL, 1995, IEEE Computer Society.
[23]
23. S. Owre, N. Shankar, and J.M. Rushby, User Guide for the PVS Specification and Verification System (Beta Release), Computer Science Laboratory, SRI International, Menlo Park, CA, February 1993.
[24]
24. S. Owre, N. Shankar, J.M. Rushby, and D.W.J. Stringer-Calvert, PVS System Guide, Computer Science Laboratory, SRI International, Menlo Park, CA, September 1998.
[25]
25. Stephan Pfab, Personal communication, November 1997.
[26]
26. D.M. Russinoff, A mechanically checked proof of IEEE compliance of the floating point multiplication, division, and square root algorithms of the AMD-K7 processor, http://www.onr.com/user/russ/david. January 28, 1998.
[27]
27. M. Wilding, "A mechanically verified application for a mechanically verified environment," in C. Courcoubetis (Ed.), Computer-Aided Verification--CAV '93, vol. 697 of Lecture Notes in Computer Science. Springer-Verlag, Elounda, Greece, 1993.
[28]
28. M.M. Wilding, "Robust computer system proofs in PVS," in C.M. Holloway and K.J. Hayhurst (Eds.), LFM97: Fourth NASA Langley Formal Methods Workshop, NASA Conference Publication no. 3356, Hampton, VA, 1997, http://atb-www.larc.nasa.gov/Lfm97/.
[29]
29. Alexander Wolfe, "First Java-specific MPU rolls," Electronic Engineering Times, p. 1, September 22, 1997.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Formal Methods in System Design
Formal Methods in System Design  Volume 18, Issue 3
May 2001
129 pages
ISSN:0925-9856
Issue’s Table of Contents

Publisher

Kluwer Academic Publishers

United States

Publication History

Published: 01 May 2001

Author Tags

  1. ACL2
  2. automated theorem proving
  3. formal methods
  4. microprocessor
  5. simulation
  6. verification

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 04 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2011)An executable object-oriented semantics and its application to firewall verificationSoftware and Systems Modeling (SoSyM)10.1007/s10270-010-0160-110:4(515-536)Online publication date: 1-Oct-2011
  • (2009)Formal methodsACM Computing Surveys10.1145/1592434.159243641:4(1-36)Online publication date: 9-Oct-2009
  • (2006)MemoriesProceedings of the sixth international workshop on the ACL2 theorem prover and its applications10.1145/1217975.1217986(57-60)Online publication date: 15-Aug-2006
  • (2005)Executable JVM model for analytical reasoningScience of Computer Programming10.1016/j.scico.2004.07.00457:3(253-274)Online publication date: 1-Sep-2005
  • (2005)Introducing abstractions via rewritingProceedings of the 13 IFIP WG 10.5 international conference on Correct Hardware Design and Verification Methods10.1007/11560548_41(402-405)Online publication date: 3-Oct-2005
  • (2004)TheoSimProceedings of the 17th symposium on Integrated circuits and system design10.1145/1016568.1016591(60-65)Online publication date: 4-Sep-2004
  • (2004)Combining several paradigms for circuit validation and verificationProceedings of the 2004 international conference on Construction and Analysis of Safe, Secure, and Interoperable Smart Devices10.1007/978-3-540-30569-9_12(229-249)Online publication date: 10-Mar-2004
  • (2003)Executable JVM model for analytical reasoningProceedings of the 2003 workshop on Interpreters, virtual machines and emulators10.1145/858570.858572(15-23)Online publication date: 8-Jun-2003
  • (2001)An executable formal java virtual machine thread modelProceedings of the 2001 Symposium on JavaTM Virtual Machine Research and Technology Symposium - Volume 110.5555/1267847.1267861(14-14)Online publication date: 23-Apr-2001

View Options

View options

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media