Schedule

Note: this schedule is tentative and may change based on student feedback as the semester progresses.
Day Content Reading Due
Wed, Jan 22
Thu, Jan 23 Economics of Software Correctness
David R. MacIver, 2016.
Mon, Jan 27 The Fuzzing Book: Introduction to Software Testing
Skim through `Run-Time Verification`. Zeller et al, 2024.
Wed, Jan 29
Workshop: Launch PBT
Due: Preliminaries (Gradescope)
Thu, Jan 30 Property-Based Testing in Practice
Harrison Goldstein et al, 2024. Feel free to read before or after class, we will discuss Monday the 3rd
Mon, Feb 3 Evaluating the “Small Scope Hypothesis”
Read Abstract, skim Introduction. Andoni et al, 2002.
Wed, Feb 5
Workshop: Launch Modeling 1
Skim book: Ch. 1-2.5
Thu, Feb 6 Skim book: Ch. 3.0-3.2.3
Due: PBT
Mon, Feb 10 Skim book: Ch. 3.4, read 3.5.1-3.5.2
Wed, Feb 12
Workshop: Launch Modeling 2
Due: Modeling 1
Thu, Feb 13 AlloyDocs: Time
Hillel Wayne, 2024.
Mon, Feb 17 Presidents' Day; no class
Tue, Feb 18 (Optional/supplemental): Alloy 6: It's about time blog post
Hillel Wayne, 2021.
Wed, Feb 19
Workshop: Launch Modeling 3
Due: Modeling 2
Thu, Feb 20 (Discussion): The Urgent Need for Memory Safety in Software Products
Press release from the US Cybersecurity Agency, 2023
Mon, Feb 24 (Supplemental): Automated Memory Management
Wikipedia
Wed, Feb 26
Workshop: Launch Modeling 4
Due: Modeling 3
Thu, Feb 27
Mon, Mar 3 (Supplemental): Peterson's algorithm
Wikipedia
Wed, Mar 5
Workshop: Catchup day; finish modeling 4
Due: Modeling 4
Thu, Mar 7 (Supplemental): Formally Modeling Database Migrations
Hillel Wayne, 2019
Mon, Mar 10 Boolean Satisfiability: From Theoretical Hardness to Practical Success
Malik & Zhang, 2009
Wed, Mar 12
Thu, Mar 13
Mon, Mar 17 Spring break
Mon, Mar 24
Wed, Mar 26
Workshop: Launch SAT
Due: Modeling 5
Thu, Mar 27 Why Amazon Chose TLA+
Chris Newcombe, 2014
Mon, Mar 31 (Supplemental): SAT/SMT by Example
Dennis Yurichev, 2024
Wed, Apr 2
Workshop: Launch SMT 1
Due: Solver
Thu, Apr 3
Mon, Apr 7 (Supplemental): Symbolic execution and program testing
James C. King, 1976
Wed, Apr 9
Due: SMT 1
Thu, Apr 10 The Coming Software Apocalypse
James Somers for The Atlantic, 2017
Mon, Apr 14
Workshop: Launch SMT 2
Wed, Apr 16 Ruhlman conference; no class
Thu, Apr 17
Program synthesis
Due: Final project proposal
Mon, Apr 21 Patriots day; no class
Wed, Apr 23
Workshop: Final project checkins
Due: SMT 2
Thu, Apr 24
Guest lecture: Anjali Pal, University of Washington
Mon, Apr 28
Final project checkins
Weds, Apr 30
No workshop
Thu, May 1
Final class! Guest lecture: Carolyn Zech, AWS
Mon, May 6 Final exam period starts
Thurs, May 8 Final exam period
Due: Final presentations, 9-11:30am
Fri, May 9
Due: Final project code, report