Carnegie Mellon University

15-819O Program Analysis

This course provides an overview of the state of the art in program analysis and recent research in the area. Topics include program representations, abstract interpretation, type-based and constraint-based analysis, approaches to interprocedural analysis, counterexample-guided abstraction refinement, extended static checking, and combinations of testing and static analysis. The course will mix theory and practice; students will formalize analyses and prove them correct, but also implement simple analyses and complete a capstone course research project. This is a graduate-level course targeting Ph.D. students as well as masters and strong undergraduate students who are interested in program analysis. There is no course prerequisite but students should be comfortable with formal definitions.

For more information, please refer to