CS7968: Program Analysis (Spring 2007)



General Information


Course Description

Program analysis addresses the problem of determining properties of programs. We'll be focusing mainly on static analysis: automatically computing properties of programs without running them. Optimizing compilers, for example, rely heavily on static analysis.

Each student will complete a project.


Class Schedule



date topic reading assigned presenter slides other
1/9 course intro pp. 1-34 of Lecture Notes on Static Analysis
slides
1/11 tool talk: Stacktool
John slides
1/16 dataflow intro

slides
1/18 tool talk: cXprop
Nathan slides
1/23 dataflow frameworks

slides
1/25 tool talk: ProGuard
Eric slides
1/30 more dataflow

slides
2/1 tool talk: LLVM
Prashanth slides
2/6 abstract interpretation

slides
2/8 tool talk: CIL
Kevin slides
2/13 more abstract interpretation

slides
2/15 tool talk: Soot
Anh slides project proposal due
2/20 composing analyses and transformations



2/22 paper discussion A Static Analyzer for Large Safety-Critical Software


2/27 snow day! class canceled



3/1 tool talk: MrFlow
Chongkai

3/6 representations



3/8 tool talk: CUTE
Will

3/13 interprocedural analysis


project status report due
3/15 no class; John is traveling



3/20 Spring Break



3/22 Spring Break



3/27 more interprocedural analysis


project status mini-report due
3/29 tool talk: Saturn
Yu

4/3 pointer analysis



4/5 paper discussion Extended Static Checking


4/10 more pointer analysis


project final report due
4/12 project presentations



4/17 project presentations



4/19 project presentations



4/24 no class; John is traveling





Final project slides:


This page is maintained by John Regehr, mail me if you find a mistake or if any content is unclear.