an llvm refinement checker and its applications
play

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:


  1. 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

  2. Compilers should not miscompile!

  3. What could go wrong? Compilation: sequence of transformations source code IR …(IR)… IR machine code our focus: optimizations *IR: Intermediate Representation

  4. Verifying compiler compiler source program target program Verified? Examples: CompCert, Vellvm etc.

  5. Validating each translation compiler source program target program Validated? Examples: TVI, TVOC etc.

  6. Translation validation by witnessing compiler source program target program Witness: expected relation Validated?

  7. source LLVM program refinement relation target LLVM program Pre-coder Pre-coder pre-coded target pre-coded source Smack Smack Boogie Program target Boogie source Boogie Combiner program program combined program Boogie (& Z3) validation result

  8. Thank you! Any questions Contact: Yiji Zhang, yzhan79@uic.edu (“Sorry that I could not be there due to Visa issues L . -- Yiji”)

Recommend


More recommend