lh-l4v/proof/asmrefine
Matthew Brecknell db13ff19bb Isabelle2016-1: configure c-parser with faster string comparisons 2017-01-05 14:27:44 +11:00
..
README.md misc: Proofing and formatting of README.md files. 2014-07-28 13:15:48 +10:00
SEL4GlobalsSwap.thy Isabelle2016-1: configure c-parser with faster string comparisons 2017-01-05 14:27:44 +11:00
SEL4GraphRefine.thy Isabelle2016-1: configure c-parser with faster string comparisons 2017-01-05 14:27:44 +11:00
SEL4SimplExport.thy Isabelle2016-1: configure c-parser with faster string comparisons 2017-01-05 14:27:44 +11:00
TestGraphRefine.thy GraphRefine + CRefine: handle slightly more cases. 2016-12-08 16:12:17 +11:00

README.md

Assembly Refinement Proof

This proof establishes that seL4's compiled binary correctly implements the semantics of its C code. It uses the binary verification tool. An earlier version of this proof is described in the PLDI '13 paper.

Important Theories

The SEL4SimplExport theory, when executed, exports the kernel's C semantics into the graph refinement language used by the external graph refinement toolset. The SEL4GraphRefine theory establishes that this exported graph semantics is a formal refinement of the kernel's C semantics.

The external graph refinement toolset then proves that the kernel's exported graph semantics is refined by the compiled binary.

Current Status

This work is currently in flux. As a result, SEL4GraphRefine may not be currently complete.

The external graph refinement toolset is also currently in flux. An earlier version of this toolset is available here.