Perspectives in Certificate Translation

  • Gilles Barthe
  • César Kunz
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6084)


Certificate translation is a general mechanism to transfer evidence across abstraction layers, from source code to executable code. We review the general principles behind certificate translation and the main results achieved so far, and outline directions for future work.


Source Code Software Developer Abstract Interpretation Proof Obligation Symbolic Execution 
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.
    Barthe, G., Grégoire, B., Heraud, S., Kunz, C., Pacalet, A.: Implementing a direct method for certificate translation. In: Breitman, K., Cavalcanti, A. (eds.) ICFEM 2009. LNCS, vol. 5885, pp. 541–560. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  2. 2.
    Barthe, G., Grégoire, B., Kunz, C., Rezk, T.: Certificate translation for optimizing compilers. ACM Transactions on Programming Languages and Systems 31(5), 18:1–18:45 (2009)Google Scholar
  3. 3.
    Barthe, G., Grégoire, B., Pavlova, M.: Preservation of Proof Obligations from Java to the Java Virtual Machine. In: Armando, A., Baumgartner, P., Dowek, G. (eds.) IJCAR 2008. LNCS (LNAI), vol. 5195, pp. 83–99. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  4. 4.
    Barthe, G., Kunz, C.: Certificate translation in abstract interpretation. In: Drossopoulou, S. (ed.) ESOP 2008. LNCS, vol. 4960, pp. 368–382. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  5. 5.
    Barthe, G., Kunz, C., Pichardie, D., Samborski-Forlese, J.: Preservation of proof obligations for hybrid verification methods. In: Cerone, A., Gruner, S. (eds.) Software Engineering and Formal Methods, pp. 127–136. IEEE Press, Los Alamitos (2008)Google Scholar
  6. 6.
    Barthe, G., Kunz, C., Sacchini, J.L.: Certified reasoning in memory hierarchies. In: Ramalingam, G. (ed.) APLAS 2008. LNCS, vol. 5356, pp. 75–90. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  7. 7.
    Barthe, G., Rezk, T., Saabas, A.: Proof obligations preserving compilation. In: Dimitrakos, T., Martinelli, F., Ryan, P.Y.A., Schneider, S. (eds.) FAST 2005. LNCS, vol. 3866, pp. 112–126. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  8. 8.
    Besson, F., Jensen, T., Pichardie, D., Turpin, T.: Result certification for relational program analysis. Research Report 6333, IRISA (September 2007)Google Scholar
  9. 9.
    Cousot, P., Cousot, R.: Abstract interpretation: A unified lattice model for static analysis of programs by construction or approximation of fixpoints. In: Principles of Programming Languages, pp. 238–252 (1977)Google Scholar
  10. 10.
    Kunz, C.: Certificate translation for the verification of concurrent programs. In: Hofmann, M., Wirsing, M. (eds.) TGC 2010. LNCS, vol. 6084, pp. 238–253. Springer, Heidelberg (2010)Google Scholar
  11. 11.
    Leroy, X.: Formal certification of a compiler back-end or: programming a compiler with a proof assistant. In: Morrisett, J.G., Peyton Jones, S.L. (eds.) Principles of Programming Languages, pp. 42–54. ACM Press, New York (2006)Google Scholar
  12. 12.
    Leroy, X.: A formally verified compiler back-end. J. Autom. Reasoning 43(4), 363–446 (2009)MathSciNetCrossRefzbMATHGoogle Scholar
  13. 13.
    Logozzo, F., Fähndrich, M.: On the relative completeness of bytecode analysis versus source code analysis. In: Hendren, L. (ed.) CC 2008. LNCS, vol. 4959, pp. 197–212. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  14. 14.
    Necula, G.C.: Compiling with Proofs. PhD thesis, Carnegie Mellon University (October 1998), Available as Technical Report CMU-CS-98-154Google Scholar
  15. 15.
    Necula, G.C.: Translation validation for an optimizing compiler. ACM SIGPLAN Notices 35(5), 83–94 (2000)CrossRefGoogle Scholar
  16. 16.
    Pnueli, A., Singerman, E., Siegel, M.: Translation validation. In: Steffen, B. (ed.) TACAS 1998. LNCS, vol. 1384, pp. 151–166. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  17. 17.
    Raza, M., Calcagno, C., Gardner, P.: Automatic parallelization with separation logic. In: Castagna, G. (ed.) ESOP 2009. LNCS, vol. 5502, pp. 348–362. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  18. 18.
    Reynolds, J.C.: Separation logic: A logic for shared mutable data structures. In: Logic in Computer Science. IEEE Press, Los Alamitos (July 2002)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Gilles Barthe
    • 1
  • César Kunz
    • 1
  1. 1.IMDEA SoftwareSpain

Personalised recommendations