CS 253/INF 212: Analysis of Programming Languages

Spring 2013, Monday, Wednesday, Friday 8:00-8:50am, ICS 180

Instructor: Harry Xu, Office hour: Thursday 2-4pm, DBH 3212, Credits: 4

Reader: Taesu Kim, Office: 3068 DBH


Project FAQ

Course Overview

In this offering the class, we focus on principles of program analysis techniques.


Required: background on discrete math + experience with Java

Optional: language and compiler background (e.g., covered in CS 141, 142(a), or 242)

Course Organization

The course has five separate components. We will spend two weeks on each component, covering both the concepts and the state-of-the-art research. For each component, homework assignments and a project will be given.


Comp 1: Foundations + Dataflow analysis

Comp 2: Abstract interpretation

Comp 3: Constraint-based analysis

Comp 4: Type and effect system

Comp 5: Practical static analyses


Paper critiques, presentations, etc.(20%)

Projects (40%)

Take-home final (40%)

References (no textbook required)

Principles of Program Analysis, Flemming Nielson, Hanne R. Nielson, and Chris Hankin, Springer, 2005.

Compilers: Principles, Techniques, and Tools, Alfred V. Aho, Monica S. Lam, Ravi Sethi, and Jeffrey D. Ullman, Pearson Education, Inc. (2nd Edition) ---- dragon book