~/talk

Symbolic Execution for Randomized Programs

Talkat OOPSLA 2022 · 2022-12-05..12-10· [testing]
links:none on file
links:none on file
links:none on file
links:none on file
slides:none on file

Adds probabilistic symbolic variables to symbolic execution and computes symbolic probability expressions for paths, then checks universal quantitative properties by sending SMT queries to Z3. Implements the technique as Plinko (KLEE) on LLVM bitcode and verifies randomized C++ case studies (Freivalds’ algorithm, randomized quicksort, reservoir sampling, monotonicity testing); most benchmarks finish within ten minutes and one case reveals a bug in a Bloom filter. Empirical comparisons show 55x faster than PSI after algebraic simplifications and verifies over all 32-bit integers in 75s where STORM times out.

AI-written summary · about

  1. 0:00Intro
  2. 1:25Motivation: Paper Approach
  3. 3:26Motivation: Monty Hall-as-code
  4. 5:37Handling Random Sampling Statements
  5. 8:15Three System Components
  6. 9:07Key Idea 1: Probabilistic Symbolic Variables
  7. 11:02Key Idea 2: Computing Branch Probabilities
  8. 13:06Key Idea 2: Branch Probabilities
  9. 16:10Key Idea: SMT Query
  10. 18:37Implementation: PLINKO
  11. 19:31Evaluation: Questions
  12. 23:44Reservoir Sampling
  13. 24:02Comparison: Storm
  14. 25:42Sumit Lahiri Symbolic Execution for Subhajit Roy Randomized Programs
~/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.