An LLVM Refinement Checker and its Applications
YIJI ZHANG1, LENORE D. ZUCK1, KEDAR NAMJOSHI2 UNIVERSITY OF ILLINOIS AT CHICAGO1, BELL LABS 2 PRESENTER: JORDAN TORF 1
An LLVM Refinement Checker and its Applications YIJI ZHANG 1 , - - PowerPoint PPT Presentation
An LLVM Refinement Checker and its Applications YIJI ZHANG 1 , LENORE D. ZUCK 1 , KEDAR NAMJOSHI 2 UNIVERSITY OF ILLINOIS AT CHICAGO 1 , BELL LABS 2 PRESENTER: JORDAN TORF 1 Compilers should not miscompile! What could go wrong? Compilation:
YIJI ZHANG1, LENORE D. ZUCK1, KEDAR NAMJOSHI2 UNIVERSITY OF ILLINOIS AT CHICAGO1, BELL LABS 2 PRESENTER: JORDAN TORF 1
*IR: Intermediate Representation
source code machine code IR IR …(IR)…
compiler
source program target program
Examples: CompCert, Vellvm etc. Verified?
compiler
source program target program
Examples: TVI, TVOC etc. Validated?
compiler
source program target program
Witness: expected relation
Validated?
source LLVM program Boogie Program Combiner Boogie (& Z3) refinement relation target LLVM program pre-coded source pre-coded target Smack Pre-coder Pre-coder Smack source Boogie program combined program validation result target Boogie program
(“Sorry that I could not be there due to Visa issues L. -- Yiji”)