~/talk

Modular Specification and Verification of Closures in Rust

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

Presents a concrete method to specify and verify Rust closures by encoding higher‑order concerns into a first-order encoding that SMT solvers (via Viper and Z3) can discharge. Adds historian invariants for relating current and past states, call descriptions for effects and call results, and behavioral-subtyping style specification entailments. Ships as an extension of Prusti, verifies many common closure idioms and iterator patterns (map, filter, fold), and reports automated verification across examples and crates from the Rust ecosystem.

AI-written summary · about

  1. 0:00Closure verification challenges
  2. 1:48Rust’s type system for closures
  3. 2:50Prusti verifier for Rust
  4. 3:54Monotonicity proof with historian variants
  5. 6:46Higher-order functions and contracts
  6. 10:41Side effects in closures
  7. 12:53Evaluation and implementation
  8. 14:19Contributions and future work
  9. 15:52Q&A on interior mutability
~/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.