Download PDFOpen PDF in browser

Formal Replay of Translation Validation for Highly Optimised C

13 pagesPublished: July 28, 2014

Abstract

In previous work [Sewell, Myreen and Klein, 2013] we have implemented a
translation validation mechanism for checking that a C compiler is adhering
to the expected semantics of a verified program. We used this apparatus to
check the compilation of the seL4 verified operating system
kernel [Klein et.al. 2009] by GCC 4.5.1. To get this result, we
carefully chose a problem representation that worked well with certain highly
optimised SMT solvers. This raises a question of correctness. While we are
confident the result is correct, we still aim to replay this result with the
most dependable tools available.

In this work we present a formalisation of the proof rules needed to replay
the translation check within the theorem prover Isabelle/HOL. This is part of
an ongoing effort to bring the entire translation validation result within a
single trusted proof engine and derive a single correctness theorem, thus
reaching the gold standard level of trustworthiness for program verification.

We had hoped to present the formal rule set in action through a worked example.
Unfortunately while we have all the theory we need, the mechanisms for
selecting and applying the rules and discharging certain side conditions remain
a work in progress, and our example proof is incomplete.

Keyphrases: isabelle/hol, translation validation, verification

In: Alexei Lisitsa and Andrei Nemytykh (editors). VPT 2014. Second International Workshop on Verification and Program Transformation, vol 28, pages 99-111.

BibTeX entry
@inproceedings{VPT2014:Formal_Replay_Translation_Validation,
  author    = {Thomas Sewell},
  title     = {Formal Replay of Translation Validation for Highly Optimised C},
  booktitle = {VPT 2014. Second International Workshop on Verification and Program Transformation},
  editor    = {Alexei Lisitsa and Andrei Nemytykh},
  series    = {EPiC Series in Computing},
  volume    = {28},
  publisher = {EasyChair},
  bibsource = {EasyChair, https://easychair.org},
  issn      = {2398-7340},
  url       = {/publications/paper/Hsx5},
  doi       = {10.29007/dw2m},
  pages     = {99-111},
  year      = {2014}}
Download PDFOpen PDF in browser