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