Primary course website (@CMU): http://www.cs.cmu.edu/~clegoues/courses/15-819O-16sp/
Description: This course provides an overview of the state of the art in program analysis as well as 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, dynamic analyses (including testing and test input generation) and combinations of dynamic and static analysis. The course will mix theory and practice; students will formalize analyses and prove them correct, but also implement actual analyses for real programs, and complete a capstone course research project.
Syllabus: Full syllabus to come. Overall, the course will consist of both lectures and discussion, seminar style. The course work will consist of readings (mostly research papers; we may include small reading quizzes, at our discretion), homework assignments (proving properties about analyses), programming assignments (implementing analyses), a midterm, and a project, to be written up and presented to the class. Ph.D. students are welcome to make use of their existing research as part of the project if it is related to program analysis in some way. There will be no final exam. Participation in the seminar-style discussion will be expected and considered in grading.