~/talk

Synthesizing Formal Semantics from Executable Interpreters

Talkat OOPSLA 2024 · 2024-10-20..10-25· [compilers-and-language-design]
links:none on file
links:none on file
links:none on file
links:none on file
slides:none on file

Given a grammar and a closed-box interpreter the system Synantic synthesizes inductive, syntax-directed semantics as Constrained-Horn Clauses via a CEGIS loop that lowers rule synthesis to many SyGuS-backed expression problems (uses SyGuS and CVC5, implemented in Scala). It derives one rule per syntactic construct, verifies each candidate against interpreter traces, converges on 14 benchmark interpreters within 20 minutes, and uncovers a regex-semantics bug whose fix yields a 1.2x speedup.

AI-written summary · about

  1. 0:00Formal semantics synthesis
  2. 1:07Key idea behind synthesis
  3. 3:15Semantic rules rule by rule
  4. 6:48Semantics for atom terms
  5. 8:38Non-leaf nodes and child terms
  6. 13:15Recursive calls and control
  7. 14:40Implementation and evaluation
  8. 15:24Effectiveness on languages
  9. 16:07Synthesized vs manual semantics
  10. 17:11Recap and future work
  11. 17:33Question and answer session
~/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.