~/talk

Symbolic Execution with Separating Decision Diagrams

Talkat O'Hearn Fest (POPL 2024) · on Sunday, 2024-01-14· [compilers-and-language-design]
links:none on file
slides:none on file

Defines separating decision diagrams as a zero-suppressed BDD variant that encodes star/or separation-logic formulas by treating atoms (pure or spatial) as ZDD elements, yielding a canonical DAG representation. Implements union, join and separating-conjunction operations as memoized recursive routines that produce proof DAGs and compute frames/remainders directly on the DD without DNF expansion. Empirical inspection over large codebases shows frequent exponential-size savings from sharing, though the implementation is promising but not yet production-robust.

AI-written summary · about

  1. 0:00Introduction
  2. 1:48Origins of separating decision diagrams
  3. 2:53Reading decision diagrams
  4. 4:41Binary and zero-suppressed decision diagrams
  5. 6:48Why ZDDs matter
  6. 8:11Heap analysis and DNF limits
  7. 9:57Defining separating decision diagrams
  8. 11:23Operations on separating decision diagrams
  9. 13:11Disjunction and separating conjunction
  10. 14:54Symbolic execution with decision diagrams
  11. 17:02Frame inference and proof DAGs
  12. 18:06Non-determinism and incompleteness
  13. 18:47Future directions
  14. 20:12Reflections and standards
  15. 21:38BDDs, SAT solvers, pitfalls
  16. 22:43Frame inference limits
  17. 24:04Q&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.