Directions in ISA Specification

  • Anthony Fox
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7406)


This rough diamond presents a new domain-specific language (DSL) for producing detailed models of Instruction Set Architectures, such as ARM and x86. The language’s design and methodology is discussed and we propose future plans for this work. Feedback is sought from the wider theorem proving community in helping establish future directions for this project. A parser and interpreter for the DSL has been developed in Standard ML, with an ARMv7 model used as a case study.


Theorem Prove State Component Machine Code Abstract Syntax Tree Rough Diamond 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Cock, D.: Lyrebird: assigning meanings to machines. In: SSV 2010 (2010)Google Scholar
  2. 2.
    Fox, A., Myreen, M.O.: A Trustworthy Monadic Formalization of the ARMv7 Instruction Set Architecture. In: Kaufmann, M., Paulson, L.C. (eds.) ITP 2010. LNCS, vol. 6172, pp. 243–258. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  3. 3.
    Hunt Jr., W.A.: X86 specification in ACL2,
  4. 4.
    Leroy, X.: A formally verified compiler back-end. Journal of Automated Reasoning 43(4) (2009)Google Scholar
  5. 5.
    Lim, J., Reps, T.: A System for Generating Static Analyzers for Machine Instructions. In: Hendren, L. (ed.) CC 2008. LNCS, vol. 4959, pp. 36–52. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  6. 6.
    Morrisett, G., Tan, G., Tassarotti, J., Tristan, J.B., Gan, E.: RockSalt: Better, faster, stronger SFI for the x86. In: PLDI 2012 (2012)Google Scholar
  7. 7.
    Myreen, M.O., Gordon, M.J.C.: Verified LISP Implementations on ARM, x86 and PowerPC. In: Berghofer, S., Nipkow, T., Urban, C., Wenzel, M. (eds.) TPHOLs 2009. LNCS, vol. 5674, pp. 359–374. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  8. 8.
    Owens, S., Böhm, P., Zappa Nardelli, F., Sewell, P.: Lem: A Lightweight Tool for Heavyweight Semantics. In: van Eekelen, M., Geuvers, H., Schmaltz, J., Wiedijk, F. (eds.) ITP 2011. LNCS, vol. 6898, pp. 363–369. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  9. 9.
    Ramsey, N., Davidson, J.W.: Machine Descriptions to Build Tools for Embedded Systems. In: Müller, F., Bestavros, A. (eds.) LCTES 1998. LNCS, vol. 1474, pp. 176–192. Springer, Heidelberg (1998)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Anthony Fox
    • 1
  1. 1.Computer LaboratoryUniversity of CambridgeUK

Personalised recommendations