Verified translation validation of static analyses
Sandrine Blazy
1
Verified translation validation of static analyses Sandrine Blazy - - PowerPoint PPT Presentation
Verified translation validation of static analyses Sandrine Blazy joint work with Gilles Barthe, Vincent Laporte, David Pichardie and Alix Trieu IFIP WG 1.9/2.15, Leuven, 2017-05-11 1 Background: verifying a compiler Compiler + proof that the
1
2
Logical Framework
(here Coq)
Compiler Language Semantics
parser.ml pprinter.ml compiler.ml
Soundness Proof
3
type elimination loop simplifications CFG construction
spilling, reloading calling conventions
side-effects out
stack allocation
(LCM), (software pipelining)
instruction selection register allocation (IRC) linearization
layout of stack frames asm code generation (instruction scheduling)
4
5
Logical Framework
(here Coq)
Compiler Language Semantics
parser.ml pprinter.ml
Soundness Proof
6
Static Analyzer
analyzer.ml
7
CompCert compiler ...
Clight CompCert C C#minor
Congruences
Intervals
Polyhedra Octagons Symbolic equalities Linearization
Communication channels
8
9
10
14
15
RTL relative-safety checker
points-to defensive encoder (C#minor) points-to defensive encoder (RTL) points-to translator
points-to translator Mach constant-time analyzer
16
17
18
19