Questions: Certified Compilation

4 questions to test your understanding

Score: 0 / 4
Question 1 Short Answer

A compiler is 'certified' if its output is proven to preserve program semantics. What does 'preserve semantics' formally mean?

Think about your answer, then reveal below.
Question 2 Short Answer

CompCert is verified in Coq and handles a subset of C. Why not verify a compiler for the full C language?

Think about your answer, then reveal below.
Question 3 Multiple Choice

A certified compiler must prove a simulation relation between source and compiled code. Which of the following can be assumed as part of the proof, and which must be verified?

AThe source language semantics and the target language semantics are both assumed; only the transformation is verified
BAll of these are assumed — the compiler is certified by testing
CThe source language semantics must be verified, but the target language (hardware) semantics is assumed
DThe source language semantics is given; the target language semantics is given; the transformation (each optimization pass) is verified to establish a simulation
Question 4 Short Answer

If a certified compiler has a bug in its output, what does that imply?

Think about your answer, then reveal below.