~/talk

Sift: Using Refinement-guided Automation to Verify Complex Distributed Systems

Talkat USENIX ATC '22 · 2022-07-11..07-13· [distributed-systems]
name:Haojun Ma
links:none on file
links:none on file
name:Aman Goel
links:none on file
links:none on file
links:none on file
links:none on file
slides:none on file

Sift presents a concrete method that proves refinement between implementations and specs while automating most work: it uses refinement-guided automation plus encapsulation to turn a multi-layer refinement check into a single-state safety problem for a monolithic prover (IC3PO), and falls back to a divide-and-conquer step that inserts intermediate layers when automation times out. The authors verify six systems (leader election, distributed lock, two‑phase commit without extra layers; shared hash table with event fixes; Raft and multiplexers with added layers), cut Raft effort from ~12 to 4 person‑weeks, and ship executable verified implementations on GitHub.

AI-written summary · about

  1. 0:00Intro
  2. 0:28Distributed systems have bugs
  3. 1:05Formal Verification
  4. 3:15The Power of Refinement
  5. 5:01A Hard Choice
  6. 6:30Encapsulation
  7. 8:14Target system
  8. 11:09Preconditions to If-statements
  9. 11:59Preconditions to Invariants
  10. 15:43Workflow of Sift
  11. 16:20Evaluation
  12. 17:38Performance
  13. 18:53Conclusion
~/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.