DisLog: A Separation Logic for Disentanglement
summary
Claims a first static program logic that proves disentanglement for fork‑join programs and gives a high‑level variant that yields disentanglement for race‑free code DisLog+. Logic embeds unique time stamps so loads require clock assertions and a precedence preorder; weakest preconditions become WP indexed by time and postconditions carry resulting timestamps. Mechanization uses Coq on top of Iris, includes invariants to handle racy patterns, and verifies case studies (spinlock, parallel lookup, lazy collection and two parallel deduplication implementations).
AI-written summary · about
chapters (14)
- 0:00Introduction
- 0:24Disentanglement in parallel programs
- 2:09Disentanglement for memory
- 3:56DisLog variants overview
- 4:20Time stamps and definition
- 5:44Clock assertions
- 6:52Precedence assertions and rules
- 8:37Parallel composition
- 9:42Races in DisLog Plus
- 11:28Monotonic predicates
- 12:53Switching between logics
- 13:37Read-write races case studies
- 13:58Conclusion
- 14:42Q&A
