Static Program Analysis
Lecture, four hours; outside study, eight hours. Requisite: course 132. Introduction to static analysis of object-oriented programs and its usage for optimization and bug finding. Class hierarchy analysis, rapid type analysis, equality-based analysis, subset-based analysis, flow-insensitive and flow-sensitive analysis, context-insensitive and context-sensitive analysis. Soundness proofs for static analyses. Efficient data structures for static analysis information such as directed graphs and binary decision diagrams. Flow-directed method inlining, type-safe method inlining, synchronization optimization, deadlock detection, security vulnerability detection. Formal specification and implementation of variety of static analyses, as well as readings from recent research literature on modern applications of static analysis. Letter grading.
Review Summary
- Clarity
-
10.0 / 10
- Organization
-
10.0 / 10
- Time
-
5-10 hrs/week
- Overall
-
8.3 / 10
Enrollment Progress
Enrollment data not available.
Reviews
The class is run pretty similarly to CS 132, but the projects were definitely more difficult. The material was pretty interesting, but much of it is based on research from ~2005-ish, and may need some update.
Showing 1 review
Course
Grading Information
-
No group projects
-
Attendance not required
-
No midterms
-
Finals week final