Pervasive Compiler Verification -- From Verified Programs to Verified Systems

  • Authors:
  • Dirk Leinenbach;Elena Petrova

  • Affiliations:
  • German Research Center for Artificial Intelligence (DFKI), P.O. Box 15 11 50, 66041 Saarbrücken, Germany;Saarland University, Computer Science Dept., P.O. Box 15 11 50, 66041 Saarbrücken, Germany

  • Venue:
  • Electronic Notes in Theoretical Computer Science (ENTCS)
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

We report in this paper on the formal verification of a simple compiler for the C-like programming language C0. The compiler correctness proof meets the special requirements of pervasive system verification and allows to transfer correctness properties from the C0 layer to the assembler and hardware layers. The compiler verification is split into two parts: the correctness of the compiling specification (which can be translated to executable ML code via Isabelle's code generator) and the correctness of a C0 implementation of this specification. We also sketch a method to solve the boot strap problem, i.e., how to obtain a trustworthy binary of the C0 compiler from its C0 implementation. Ultimately, this allows to prove pervasively the correctness of compiled C0 programs in the real system.