TVOC: A Translation Validator for Optimizing Compilers

  • Clark Barrett
  • Yi Fang
  • Benjamin Goldberg
  • Ying Hu
  • Amir Pnueli
  • Lenore Zuck
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3576)

Abstract

We describe a tool called TVOC, that uses the translation validation approach to check the validity of compiler optimizations: for a given source program, TVOC proves the equivalence of the source code and the target code produced by running the compiler. There are two phases to the verification process: the first phase verifies loop transformations using the proof rule permute; the second phase verifies structure-preserving optimizations using the proof rule Validate. Verification conditions are validated using the automatic theorem prover CVC Lite.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Aho, A., Sethi, R., Ullman, J.: Compilers Principles, Techniques, and Tools. Addison Wesley, Reading (1988)Google Scholar
  2. 2.
    Allen, R., Kennedy, K.: Optimizing Compilers for Modern Architectures. Morgan Kaufmann, San Francisco (2002)Google Scholar
  3. 3.
    Barrett, C., Berezin, S.: CVC Lite: A new implementation of the cooperating validity checker. In: CAV (July 2004)Google Scholar
  4. 4.
    Floyd, R.: Assigning meanings to programs. Symposia in Applied Mathematics 19, 19–32 (1967)MathSciNetGoogle Scholar
  5. 5.
    Goldberg, B., Zuck, L., Barrett, C.: Into the loops: Practical issues in translation validation for optimizing compilers. In: COCV (April 2004)Google Scholar
  6. 6.
    Hu, Y., Barrett, C., Goldberg, B., Pnueli, A.: Validating more loop optimizations. In: COCV (April 2005)Google Scholar
  7. 7.
    Necula, G.: Translation validation of an optimizing compiler. In: PLDI (2000)Google Scholar
  8. 8.
    Pnueli, A., Siegel, M., Singerman, E.: Translation validation. In: Steffen, B. (ed.) TACAS 1998. LNCS, vol. 1384, pp. 151–166. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  9. 9.
    Ju, S.C.R.D.-C., Wu, C.: Open research compiler (orc) for the itanium processor family. Micro 34 (2001)Google Scholar
  10. 10.
    Zuck, L., Pnueli, A., Goldberg, B., Barrett, C., Fang, Y., Hu, Y.: Translation and run-time validation of loop transformations. In: FMSD (2005)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Clark Barrett
    • 1
  • Yi Fang
    • 1
  • Benjamin Goldberg
    • 1
  • Ying Hu
    • 1
  • Amir Pnueli
    • 1
  • Lenore Zuck
    • 2
  1. 1.New York University 
  2. 2.University of IllinoisChicago

Personalised recommendations