~/talk

Invited Talk: Finding Good Programs by Avoiding Bad Ones

Talkat POPL 2025 · 2025-01-19..01-25· [ai-assisted-development]
slides:none on file

Shows that proving unrealizability — certifying that an entire grammar-derived search space contains no correct program — gives a practical pruning primitive for synthesis and LLM-guided code generation. Implements several approaches: nondeterministic program-with-assertions and reachability encoding, grammar flow analysis abstractions that yield decidability for linear integer fragments, and a generic semantics-to-solver pipeline via constraint Horn clauses (Sangus) with Spacer/Z3. Builds a decoding method that corrects sampling bias so constrained LLM output converges to the conditional distribution; the techniques are effective and faster on many benchmarks.

AI-written summary · about

  1. 0:00Introduction
  2. 1:06Program synthesis rise
  3. 14:08Unrealizability problem
  4. 21:17Proving unrealizability
  5. 25:09Imperative unrealizability
  6. 31:55Sangus framework
  7. 35:28Program invariants
  8. 41:09Bridging synthesis and large language models
  9. 47:12Pruning bad programs
  10. 51:51Future directions
  11. 55:42Q&A
~/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.