Schedule
Program Analysis: Theory and Practice - CSCI 7135 - Fall 2025
All students should have received a welcome e-mail from me on how to get set up with the course tools. If you did not receive such a message, please send me an e-mail. All further correspondence will be via Piazza.
Class meetings are held on Tuesdays and Thursdays from 9:30 a.m. to 10:45 a.m. in DLC 1B20.
The Reading column lists the assigned reading for the meeting. You should do the reading before attending class and view it as an introduction to spark discussion in class. The Assignment column lists the due date for each assignment.
The upcoming schedule lists the topics we plan to cover and approximately the number of meetings we plan to spend on each topic. The schedule is tentative. Most likely, some things will change during the semester, and the schedule will be revised as necessary. This class is yours, so please make suggestions.
| Date | Part | Title | Reading | Assignment | ||
|---|---|---|---|---|---|---|
| 24 | R | 11/13 | Foundations | Dataflow Analysis |
Recommended. Rival and Yi. Section 10.1. Recommended. Møller and Schwartzbach. Chapter 5. |
|
| 25 | T | 11/18 | Foundations | Chaotic Iteration | ||
| 26 | R | 11/20 | Foundations | Heap Abstraction | ||
| 27 | T | 12/02 | Foundations | Points-To Analysis (as an Abstract Interpretation) | Supplemental. Smaragdakis and Balatsouras. Pointer Analysis. | |
| 28 | R | 12/04 | Foundations | Symbolic Heap Analysis (as an Abstract Interpretation) |
| Date | Part | Title | Reading | Assignment | ||
|---|---|---|---|---|---|---|
| 23 | T | 11/11 | Foundations | Abstract Transition Semantics | Recommended. Rival and Yi. Chapter 4. | |
| 22 | R | 11/06 | Foundations | Widening | ||
| 21 | T | 11/04 | Foundations | Abstract Domain Combinators | Recommended. Rival and Yi. Section 10.2. | |
| 20 | R | 10/30 | Foundations | Abstract Domains | Recommended. Rival and Yi. Section 5.1. | |
| 19 | T | 10/28 | Foundations | Abstract Interpretation | Recommended. Rival and Yi. Section 3.3-3.4. | |
| 18 | R | 10/23 | Foundations | Abstraction | Recommended. Rival and Yi. Section 3.2. | |
| 17 | T | 10/21 | Foundations | Collecting Semantics | Recommended. Rival and Yi. Section 3.1. | |
| 16 | R | 10/16 | Foundations | Theorem Proving in Lean | ||
| 15 | T | 10/14 | Preliminaries | Denotational Semantics |
Recommended. Winskel, Chapter 5. Supplemental. Rival and Yi, Chapter A. |
|
| 14 | T | 10/07 | Foundations | Symbolic Execution and Separation Logic | ||
| 13 | R | 10/02 | Foundations | Functional Programming in Lean | ||
| 12 | T | 09/30 | Foundations | Symbolic Execution and Separation Logic |
Supplemental. John C. Reynolds. 2003. Separation logic: a logic for shared mutable data structures. LICS 2003, 55–74. Supplemental. James C. King. 1976. Symbolic execution and program testing. Commun. ACM 19, 7 (July 1976), 385–394. |
|
| 11 | R | 09/25 | Preliminaries | Verification Conditions | ||
| 10 | T | 09/23 | Preliminaries | Completeness | ||
| 9 | R | 09/18 | Preliminaries | Soundness | Recommended. Winskel, Chapter 7. | |
| 8 | T | 09/16 | Preliminaries | Deductive Verification | ||
| 7 | R | 09/11 | Preliminaries | Hoare Logic | ||
| 6 | T | 09/09 | Preliminaries | Assertions | Recommended. Winskel, Chapter 6. | |
| 5 | R | 09/04 | Preliminaries | Meta Theory | ||
| 4 | T | 09/02 | Preliminaries | Induction | Supplemental. Pfenning, Lecture Notes on Inductive Definitions, 2004. | |
| 3 | R | 08/28 | Preliminaries | Operational Semantics | Recommended. Winskel, Chapters 3-4. These chapters are another source on judgments and inductive definitions. | |
| 2 | T | 08/26 | Preliminaries | Syntax and Semantics |
Recommended. Winskel, Chapter 2. Recommended. Harper, Chapters 1-3 (i.e., Part I). These chapters are background on syntax, judgments, and inductive definitions. |
|
| 1 | R | 08/21 | Introduction | Welcome and Course Overview |