~/talk

CompCertELF: Verified Separate Compilation of C Programs into ELF Object Files

Talkat OOPSLA 2020 · 2020-11-15..11-20· [compilers-and-language-design]
links:none on file
links:none on file
links:none on file
links:none on file
slides:none on file

CompCertELF is a Coq-verified C-to-ELF toolchain that adds a verified assembler and supports verified separate compilation by proving commutativity between source linking and ELF linking using syntactic equivalences =_p and =_r. It extends Stack-Aware CompCert with RealAsm → relocatable programs, heavy proofs around symbol table generation and memory injection, about 23,000 lines of Coq added. Generated ELF executables run about 8.4% slower and are ~74% larger on average, currently covering a subset of 32-bit x86 and limited ELF features.

AI-written summary · about

  1. 0:00Intro
  2. 0:25Motivation: Verified C Compilers Generating Object Files • Production C compilers generate object files (e.g. ELF files)
  3. 1:22Motivation: Verified Separate Compilation to Object Files
  4. 3:45Background: (Stack-Aware) CompCert
  5. 4:32CompCertELF: An Overview • Extends Stack-Aware CompCert with a verified assembler
  6. 6:06A Running Example
  7. 7:06Symbol Table Generation: An Example
  8. 7:58Symbol Table Generation: The Verification
  9. 10:30Problem: Linking of sets v.s. Linking of sections counter
  10. 11:41Overview of Commutativity for CompCertELF
  11. 12:27Restore Commutativity for Symbol Table Generation
  12. 13:37Transition from ep to . counter
  13. 14:53Limitations
  14. 15:30Evaluation: Specifications and Proofs
  15. 15:55Evaluation: Performance
  16. 16:18Evaluation: File Sizes
  17. 16:29Conclusion
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.