UCLA CS 232 Static Program Analysis Spring 2007
- Time and place: Mon, Wed 2:00-3:50pm, BUNCHE 2168.
- Professor: Jens Palsberg,
4531K Boelter Hall
(palsberg@ucla.edu).
Office hours: after each class until 4:30, in either 4531K BH or in 4810 BH.
- Reading list.
- The discussion website is on CourseWeb
(go to Computer Science, CS 232, Forum).
- Lectures Mon Apr 2, Wed Apr 4: Register allocation and SSA form.
- Lectures Mon Apr 9, Wed Apr 11:
An introduction to static analysis of object-oriented programs.
Deutsch-Schiffman, a single global method table,
class hierarchy analysis, rapid type analysis,
equality-based analysis, subset-based analysis.
- Lectures Mon Apr 16, Wed Apr 18, Mon Apr 23,
Flow-insensitive and flow-sensitive analysis,
context-insensitive and context-sensitive analysis.
Pointer analysis.
Efficient data structures for static analysis information
such as directed graphs and binary decision diagrams.
- Lectures Wed Apr 25:
Use of static program analysis for optimization.
Flow-directed method inlining, type-safe method inlining.
- Lectures Mon Apr 30, Wed May 2, Mon May 7:
Relationships between static analysis and type systems.
Subtransitive flow analysis of typed programs.
Flow-type systems.
- Lectures Wed May 9:
Use of static program analysis for providing minimal access rights.
- Lectures Mon May 14, Wed May 16:
Impossibility results.
- Lectures Mon May 21, Wed May 23:
Soundness proofs for static analyses.
- Lectures Wed May 30, Mon Jun 4, Wed Jun 6:
Use of static program analysis for bug finding, including synchronization optimization,
deadlock detection, security vulnerability detection.
- Homework 1, due Fri May 11; submit by email to palsberg@ucla.edu.
- Homework 2, due Fri Jun 15; submit by email to palsberg@ucla.edu.
- Final exam.
Tuesday, June 12, 2006, 3-6pm, 4760 Boelter Hall.
Closed book.