Spring 2013, CS 253 Schedule



Presentation Slides

Papers to Read


Topic I. Foundations (formal semantics, lattice theory, fixedpoints) + dataflow analysis


April 1 (Mon)

Introduction + foundations

Lecture 1


April 3 (Wed)




April 5 (Fri)

Reaching definition analysis, available expression analysis, live variable analysis




April 8 (Mon)

Monotone frameworks, solutions to equation solving



April 10 (Wed)

pointer analysis


April 12 (Fri)

Interprocedural dataflow analysis via graph reachability (e.g., IFDS/IDE)


Reps et al. POPL`95

First project due

April 15 (Mon)

The spark points-to analysis framework


Points-to analysis in Spark

Topic II. Functional Language + Constraint-based Analysis


April 17 (Wed)

Lambda Calculus + functional programming

Lecture 2


April 19 (Fri)

Constraint-based 0-CFA analysis


April 22 (Mon)

Constraint-based k-CFA analysis



April 24 (Wed)

k-CFA analysis for imperative languages



April 26 (Fri)

Set-constraint-based analysis I


Overview of set constraints


April 29 (Mon)

Constraint-based points-to analysis


Constraint-based points-to analysis

Topic III. Abstract Interpretation


May 1 (Wed)

An overview of abstract interpretation

Lecture 3


May 3 (Fri)

Approximation of fixed points,


Second project due

May 6 (Mon)

widening and narrowing operators


May 8 (Wed)

Galois connections


May 10 (Fri)

Galois connections




May 13 (Mon)

Some interesting abstract domains and interpreters


A Semantics-Based Approach to Malware Detection


Topic IV. Type and Effect System + Introduction to JVM


May 15 (Wed)

A type system for CFA

Lecture 4


May 17 (Fri)

Type inference algorithm


May 20 (Mon)

Combining types and effects


Third project due

May 22 (Wed)

Modularity - aspect-oriented programming



May 24 (Fri)

Interesting type and effect system I


A type and effect system for atomicity


May 27 (Mon)

No class, university holiday

May 29 (Wed)

Introduction to Java Virtual Machine

Jikes RVM


Topic V. Practical Techniques


May 31 (Fri)

Symbolic execution and concolic testing



June 3 (Mon)

Class cancelled

Prof. Xu traveling for work

June 5 (Wed)

Class cancelled

Prof. Xu traveling for work

June 7 (Fri)

Typestate-based analysis


Typestate-based verification

Final project due

Acknowledgement: this webpage was adapted from Prof.  Feng Qin's CSE 755 schedule page at Ohio State.