~/talk

Modulo: Finding Convergence Failure Bugs in Distributed Systems with Divergence...

Talkat USENIX ATC '22 · 2022-07-11..07-13· [distributed-systems]
links:none on file
name:David Lie
links:none on file
slides:none on file

Modulo is a model-based tester that uses Divergence Resync Models to focus state exploration on interleavings of divergence and resync, generating schedules from an AEM and executing them via CEM wrappers. It runs as ~8k LOC, reuses AEMs across systems, and injects timed crashes, writes, restarts and log-check resyncs. Applied to ZooKeeper, MongoDB and Redis it finds 11 CFBs (6 new) and demonstrates AEM/CEM separation that keeps the explored state space small.

AI-written summary · about

  1. 0:00Intro
  2. 0:29Background: Various Services Rely on Replicated Distributed Storage Systems
  3. 3:49Replicas Become Converged via Replication
  4. 4:01Clients Read Consistent Data
  5. 4:31Replication Does Not Occur and Replicas Remain Diverged
  6. 4:53Problem 2: Software Bugs in Resync Mechanisms May Cause Convergence Failures
  7. 7:19Key Idea 2: Separating Abstraction from Concrete Execution (Divergence Resync Model)
  8. 10:03Modulo Architecture: Checking if Converge Fails after Each Schedule Execution
  9. 11:20Abstract Execution Model: Predefined Write Sequence is Generated
  10. 16:30Implementation
  11. 18:15Conclusion
~/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.