Course Schedule

The following schedule is subject to change.

   Week   
(Date)
DiscussionClass PrepDue
Week 1 (Sep 8)Course Introduction & Rust
Week 2 (Sep 15)Rust (continued) & How to Read a Paper- The Rust Book up to Chapter 11
- Rust by Example
- Rust Design Patterns
- How to Read a Paper
Milestone 1: Team Formation
Week 3 (Sep 22)Fuzz Testing, Property-Based Testing, Symbolic Execution, and SAT/SMT- An Empirical Study of the Reliability of UNIX Utilities
- QuickCheck: A Lightweight Tool for Random Testing of Haskell Programs
- Symbolic Execution and Program Testing
- Problem Solving for the 21st Century
Milestone 2: Topic Selection
Week 4 (Sep 29) Class canceled
Week 5 (Oct 6)Rust Analyses- The Usability of Ownership
- How Do Programmers Use Unsafe Rust
Programming Assignment 1

Milestone 3: Problem Selection & Proposal
Week 6 (Oct 13)Rust OSes
(Cars in Space)
- RedLeaf: Towards An Operating System for Safe and Verified Firmware
- Theseus: an Experiment in Operating System Structure and State Management
Week 7 (Oct 20)Symbolic Execution
(Black Diamond)
- KLEE: Unassisted and Automatic Generation of High-Coverage Tests for Complex Systems Programs
- Verifying Dynamic Trait Objects in Rust
Week 8 (Oct 27)Hybrid Fuzzing
(Rusting Away)
- Driller: Augmenting Fuzzing Through Selective Symbolic Execution
- HFL: Hybrid Fuzzing on the Linux Kernel
Week 9 (Nov 3)Formal Methods
Week 10 (Nov 10)Formal Methods (Continued)- How Amazon Web Services Uses Formal Methods
- Using Lightweight Formal Methods to Validate a Key-Value Storage Node in Amazon S3
Milestone 4: Intermediate Demo
Week 11 (Nov 17)Interactive Verification
(Lionfish)
- seL4: Formal Verification of an OS Kernel
- CertiKOS: An Extensible Architecture for Building Certified Concurrent OS Kernels
Programming Assignment 2
Week 12 (Nov 24)Automated Verification
(In the Loop)
- Safe to the Last Instruction: Automated Verification of a Type-Safe Operating System
- A Formally Verified NAT
Week 13 (Dec 1)Project Demos and PresentationsMilestone 5: Final Demo & Report