| Class | Date | Topic | Readings | Presenter |
| 1. | Tue 8/27 | Course Introduction |
Read only, no reviews: Back to the Building Blocks: A Path Toward Secure and Measurable Software, White House Report, February 2024 The Verification of a Distributed System, ACM Queue 2015 |
Amy |
| 2. | Thu 8/29 | Reasoning about correctness: Consistency Models and Fault Tolerance Basics |
Read/explore only, no reviews: Consistency Models Map, Jepsen Extras: CAP 12 years Later, Computer 2012 Impossibility of Distributed Consensus with One Faulty Process, JACM 1985 |
Amy |
| 3. | Tue 9/3 | Intrusion-Tolerant Design and State Machine Replication |
Review: The Bedrock of Byzantine Fault Tolerance: A Unified Platform for BFT Protocols Analysis, Implementation, and Experimentation, NSDI 2024
Extras: Network-Attack-Resilient Intrusion-Tolerant SCADA for the Power Grid, DSN 2018 |
Amy |
| 4. | Thu 9/5 | Testing Intrusion-Tolerant Systems |
Review: Randomized Testing of Byzantine Fault Tolerant Algorithms, OOPSLA 2023
Extras: Tyr: Finding Consensus Failure Bugs in Blockchain System with Behaviour Divergent Model, SP 2023 Twins: BFT Systems Made Robust, arxiv 2022 |
Amy |
| 5. | Tue 9/10 | Memory Safety |
Review: Rudra: Finding Memory Safety Bugs in Rust at the Ecosystem Scale, SOSP 2021
Extras: Themis: An Efficient and Memory-Safe BFT Framework in Rust, SERIAL Workshop 2019, Themis slides, Themis code |
|
| 6. | Thu 9/12 | Lab: Implementing and testing intrusion-tolerant systems | ||
| 7. | Tue 9/17 | Formal Verification |
Review: Using Lightweight Formal Methods to Validate a Key-Value Storage Node in Amazon S3, SOSP 2021
Extras: How Amazon web services uses formal methods, CACM 2015 |
|
| 8. | Thu 9/19 | Formal Verification | Review: Verdi: a framework for implementing and formally verifying distributed systems, PLDI 2015 | |
| 9. | Tue 9/24 | Lab: Formal Specification and Verification | TLA+ | |
| 10. | Thu 9/26 | Lab: Formal Specification and Verification | DistAlgo | |
| 11. | Tue 10/1 | Amy away at SRDS | ||
| 12. | Thu 10/3 | Project Proposals Due Amy away at SRDS |
||
| 13. | Tue 10/8 | Testing | Review: An Empirical Study on the Correctness of Formally Verified Distributed Systems, EuroSys 2017 | |
| 14. | Thu 10/10 | Lab: Testing | Jepsen | |
| -- | Tue 10/15 | No class - Fall Break | ||
| 15. | Thu 10/17 | Lab: Testing | ||
| 16. | Tue 10/22 | Formal Specifications and Diversity | Review: Algorithm Diversity for Resilient Systems, Data and Applications Security and Privacy 2019 | |
| 17. | Thu 10/25 | Testing of Formal Specifications | Review: IronSpec: Increasing the Reliability of Formal Specifications, OSDI 2024 | |
| 18. | Tue 10/29 | Project Checkpoint Presentations | ||
| 19. | Thu 10/31 | Project Checkpoint Presentations | ||
| 20. | Tue 11/5 | Remote class - Election day TBD |
Review: Understanding and Detecting Software Upgrade Failures in Distributed Systems, SOSP 2021 | |
| 21. | Thu 11/7 | TBD: Student Topic | ||
| 22. | Tue 11/12 | TBD: Student Topic | ||
| 23. | Thu 11/14 | TBD: Student Topic | ||
| 24. | Tue 11/19 | TBD: Student Topic | ||
| 25. | Thu 11/21 | TBD: Student Topic | ||
| -- | Tue 11/26 | No class - Thanksgiving | ||
| -- | Thu 11/28 | No class - Thanksgiving | ||
| 26. | Tue 12/3 | TBD: Student Topic | ||
| 27. | Thu 12/5 | TBD: Student Topic | ||
| 28. | Tue 12/10 | Final Project Presentations | ||
| 29. | Thu 12/12 | Final Project Presentations |
Distributed Systems Fundamentals and Impossibility Results
Formal Verification in Distributed Systems
Testing
State Machine Replication and Fault-Tolerant Replication Protocols
Intrusion-Tolerant Replication
Practical Security