Skip to main content

A Unified Processor Model for Compiler Verification and Simulation Using ASM

  • Conference paper
Book cover Abstract State Machines, Alloy, B, VDM, and Z (ABZ 2012)

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

Abstract

For safety critical embedded systems the correctness of the processor, toolchain and compiler is an important issue. Translation validation is one approach for compiler verification. A common semantic framework to represent source and target language is needed and Abstract State Machines (ASMs) are a well suited and established method. In this paper we present a method to show correctness of instruction selection by performing fully automated simulation proofs over symbolic execution traces of state transformations using an automated first-order theorem prover. We applied this approach to an industrial-strength compiler and created the ASM models in such a way that we are able to reuse them to create a cycle-accurate simulator. To achieve fast simulation we compile the ASM models to C++ and present the compilation scheme in this paper. Finally we present our preliminary results which indicate that a unified ASM model is sufficient for proving correct instruction selection and generating efficient cycle-accurate simulators.

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

Access this chapter

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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Börger, E.: Abstract state machines: A method for high-level system design and analysis (2003)

    Google Scholar 

  2. Farahbod, R., Gervasi, V., Glässer, U.: CoreASM: An extensible ASM execution engine. In: Proc. of the 12th International Workshop on Abstract State Machines, pp. 153–165 (2005)

    Google Scholar 

  3. Fraser, C.W., Henry, R.R., Proebsting, T.A.: BURG: fast optimal instruction selection and tree parsing. ACM Sigplan Notices 27(4), 68–76 (1992)

    Article  Google Scholar 

  4. Gaul, T.S.: An abstract state macine specification of the DEC-alpha processor family (1995), ftp://www.jair.org/groups/Ealgebras/alpha.pdf

  5. Hoder, K., Kovács, L., Voronkov, A.: Interpolation and Symbol Elimination in Vampire. In: Giesl, J., Hähnle, R. (eds.) IJCAR 2010. LNCS, vol. 6173, pp. 188–195. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  6. Pnueli, A., Siegel, M., Singerman, F.: Translation validation, pp. 151–166. Springer (1998)

    Google Scholar 

  7. Riazanov, A., Voronkov, A.: The design and implementation of VAMPIRE. AI Commun. 15, 91–110 (2002)

    MATH  Google Scholar 

  8. Teich, J., Kutter, P.W., Weper, R.: Description and Simulation of Microprocessor Instruction Sets Using ASMs. In: Gurevich, Y., Kutter, P.W., Vetta, A., Thiele, L. (eds.) ASM 2000. LNCS, vol. 1912, pp. 266–286. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  9. Zimmermann, W., Gaul, T.: On the construction of correct compiler back-ends: An ASM approach. Journal of Universal Computer Science 3, 504–567 (1997)

    MathSciNet  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Lezuo, R., Krall, A. (2012). A Unified Processor Model for Compiler Verification and Simulation Using ASM. In: Derrick, J., et al. Abstract State Machines, Alloy, B, VDM, and Z. ABZ 2012. Lecture Notes in Computer Science, vol 7316. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-30885-7_24

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-30885-7_24

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-30884-0

  • Online ISBN: 978-3-642-30885-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics