~/talk

Cachet: A Domain-Specific Language for Trustworthy Just-In-Time Compilers

Talkat PriSC 2023 · on Saturday, 2023-01-21· [compilers-and-language-design, security]
links:none on file
links:none on file
links:none on file
links:none on file
links:none on file
links:none on file
links:none on file
links:none on file
slides:none on file

Cachet is a DSL that compiles Cachet to Boogie and C++ and encodes JIT invariants so the verifier proves generated code never violates them. The toolchain uses Boogie + Corral to check pipelines and supports translation validation of real SpiderMonkey stubs; 67 of 333 CacheIR ops are implemented, a fixed-slot generator verifies in 4s, dynamic slots in 39s, combined in 63s. Firefox stubs (159 deduped, 70 fully supported) have median verification 27s with some heavy cases up to ~4 hours. verifies generated stubs end-to-end

AI-written summary · about

  1. 0:00Cachet and verified JIT compilers
  2. 1:50JavaScript JIT compilation challenges
  3. 4:37Inline caching security
  4. 7:04Cachet design goals
  5. 9:11Cachet as a DSL for JITs
  6. 10:35Incremental adoption in SpiderMonkey
  7. 13:45Verification pipeline and Boogie
  8. 16:56Verified inline cache system
  9. 19:45Optimizing with symbolic execution
  10. 21:11Cachet performance evaluation
  11. 22:35Future plans with Firefox
  12. 23:22Collaboration with SpiderMonkey
  13. 24:25New language vs existing tools
  14. 25:49Q&A: Boogie and trusted code
~/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.