~/talk

Validating SMT Solvers for Correctness and Performance via Grammar-based Enumeration

Talkat OOPSLA 2024 · 2024-10-20..10-25· [testing]
slides:none on file

ET is a grammar-based enumerator that compiles eight SMT theory grammars into algebraic datatypes and drives the FEAT enumerator to produce smallest-to-largest formulas for differential testing. Running on 61 Z3 and CVC4/cvc5 releases it checks 8 million formulas and issues 488 million solver calls, finds 102 bugs (76 confirmed, 32 fixed), and exposes performance regressions: Z3 slows on short timeouts since z3-4.8.11 and early cvc5 releases regress on long timeouts. Results support using ET for continuous integration.

AI-written summary · about

  1. 0:00ET and SMT solver validation
  2. 1:51Limitations in SMT testing
  3. 3:36Small bug triggers matter
  4. 5:44Grammar-based enumeration
  5. 7:15Validation results and bugs
  6. 8:39Performance bugs detection
  7. 9:44Z3 and CVC5 correctness
  8. 11:30Performance evolution
  9. 13:21Have we tested enough?
  10. 14:46Can testing prove absence?
  11. 15:29Q&A: Property-based testing
  12. 18:03Q&A: Enumerative testing impact
  13. 19:48Q&A: Future work
~/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.