The following schedule lists the topics we will cover and approximately the number of meetings we will spend on each topic. The schedule is tentative. Most likely, some things will change during the semester, and I will revise the schedule as necessary.

The Reading column lists the assigned reading for the meeting. You should view the readings as an introduction to spark discussion in class.

The Assignment column lists the due date for each assignment.

Readings. The readings will be classified into the following order of recommendation: Advised (highest importance), Recommended (important but read after previous category), and Supplemental (additional material for a different perspective). NNH refers to Nielson et al., Principles of Program Analysis.

Date Topic Reading Assignment
1 M 1/11 Welcome
Supplemental. John Carmack. Static Code Analysis. This blog post is a famous developer's view of static analysis. John Carmack is known for his contributions to game engines (e.g., Doom).
W 1/13 Semantics Crash Course: Operational Semantics [meeting 2-5 whiteboard]
Advised. Winskel, Chapter 2.
Recommended. Harper, Chapters 1-3 (i.e., Part I). These chapters are background on syntax, judgments, and inductive definitions.
Supplemental. Winskel, Chapters 3-4. These chapters are another source on judgments and inductive definitions.
2 M 1/18 No Class: MLK Day
W 1/20 Semantics Crash Course: Operational Semantics
Advised. Winskel, Chapter 6.
3 M 1/25 Semantics Crash Course: Hoare Logic
W 1/27 Semantics Crash Course: Hoare Logic [meeting 6-9 whiteboard]
4 M 2/1 Collecting Semantics and Dataflow Analysis
Recommended (Classic). Gary A. Kildall. A unified approach to global program optimization. POPL, 1973.
Recommended (Classic). Michael Karr. Affine relationships among variables of a program. Acta Informatica 6(2):1976.
Recommended. NNH, Chapter 1.
W 2/3 Collecting Semantics and Dataflow Analysis
Advised. NNH, 2.1-2.3
5 M 2/8 Semantics Crash Course: Denotational Semantics
Advised. Winskel, Chapter 5 (up to 5.4).
W 2/10 Abstraction
Recommended. NNH, 4.1-4.3
Recommended. Rival, 4.1-4.2
6 M 2/15 Abstract Interpretation
W 2/17 Abstract Interpretation
7 M 2/22 Interprocedural Analysis
W 2/24 Interprocedural Analysis
8 M 2/29 Symbolic Execution
W 3/2 Symbolic Execution
9 M 3/7 Shape Analysis
W 3/9 Shape Analysis
10 M 3/14 Research Topics
W 3/16 Research Topics
11 M 3/21 No Class: Fall Break
W 3/23 No Class: Fall Break
12 M 3/28 Research Topics
W 3/30 Research Topics
13 M 4/4 Research Topics
W 4/6 Research Topics
14 M 4/11 Research Topics
W 4/13 Research Topics
15 M 4/18 Research Topics
W 4/20 Research Topics
16 M 4/25 Project Presentations
W 4/27 Project Presentations