~/talk

FaJITa: Verifying Optimizations on Just-In-Time Programs

Talkat PriSC 2023 · on Saturday, 2023-01-21· [javascript, testing]
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

FaJITa is a translation validator that checks semantic equivalence of JavaScript functions after Firefox JIT optimizations by combining symbolic execution with targeted static analyses and an SMT backend. It models hundreds of MIR ops as uninterpreted functions and uses a specialized memory model that statically tracks object locations and field offsets, letting most Firefox test-suite functions verify in under a second with few false positives. It reproduces past optimizer bugs, integrates with a fuzzing trace collector to hunt new bugs, and still needs better generators to reach rare misoptimizations.

AI-written summary · about

  1. 0:00Start
  2. 4:58Finding bugs - semantics-aware fuzzing
  3. 5:34Overview
  4. 6:07How should we verify the optimizer - ideal
  5. 7:03Using symbolic execution (symex)
  6. 7:24Proving semantic equivalence
  7. 9:25Verifying MIR: approximate most semantics
  8. 12:04Optimizing the memory model for symex
  9. 15:19Optimizations make verification tractable
  10. 16:13FaJITa as bug finding tool
  11. 17:04Guided fuzzing
  12. 18:04FaJITa for online eventual verification
  13. 18:39Takeaway
  14. 21:34Finding bugs our target
~/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.