THE SCHEDULE IS VERY LIKELY TO CHANGE!

 

Date

Topic

Reading

Lecture Notes

Homework

Jan 8

Introduction

Syllabus

Lecture1 [ppt, pdf]

 

Jan 11

Dataflow Analysis: four classical dataflow problems

Ch. 9.1 and 9.2 from the Dragon Book

Lecture2 [ppt, pdf]

HW1 (Dataflow)

Jan 18

Classical dataflow problems, Dataflow frameworks: lattices

9.3 from the Dragon Book

Lecture3 [ppt, pdf]

 

Jan 22

Dataflow frameworks, cont.: transfer functions, worklist algorithm, MFP and MOP solutions

Quiz 1

Lecture4 [ppt, pdf]

Jan 25

Dataflow frameworks: conclusion,

Non-distributive analysis: constant propagation, points-to analysis

Lecture5 [ppt, pdf]

 

Jan 29

Analysis in practice: Soot program analysis framework, analysis scope and approximation, intro to HW2

Lecture6 [ppt, pdf]

HW1 due

HW2 (Class analysis of Java with Soot)

Feb 1

Class analysis, CHA and RTA

Lecture7 [ppt, pdf]

Feb 5

Class analysis, cont.: XTA, 0-CFA and PTA

Quiz 2

Lecture8 [ppt, pdf]

Feb 8

Class analysis, conclusion.

Lecture9 [ppt, pdf]

 

HW2 due, HW3 (Class analysis with Soot)

Feb 12

Interprocedural analysis: MORP, functional and call-string approaches, context sensitivity

Ch. 12.1 and 12.2 from the Dragon Book

Lecture10 [pdf]

Feb 15

Catch-up lecture: context sensitivity in practice

Quiz 3

Lecture11 [pdf]

Feb 20 (Tue)

Abstract Interpretation: Semantics, notion of abstraction

Lecture12 [pdf]

HW4 (CI assignment)

Feb 22

Abstraction relation, alpha and gamma, Galois connections

Lecture13 [pdf]

HW3 due

Feb 26

Galois connections, transformers

Lecture14 [pdf]

Feb 29

Types and Type-based Analysis: lambda calculus

Ch. 5 and 6 from Pierce

Quiz 4

Lecture15 [ppt, pdf]

HW4 due, HW5 (Abstract Interpretation and Haskell)

Mar 11

Lambda calculus, cont.: reduction strategies, interpreters, Haskell

Ch. 8 and 9 from Pierce

Lecture16 [pdf]

HW3 and HW4, final deadline

Mar 14

Simply typed lambda calculus

Ch. 8 and 9 from Pierce

Lecture17 [pdf]

Mar 18

Progress and preservation

Lecture18 [pdf]

Mar 21

Simple type inference: equality constraints unification, substitution

Ch. 22 and 23 from Pierce

Quiz 5

Lecture19 [pdf]

HW5 due, HW6 (Haskell)

Mar 25

Simple type inference: equality constraints unification, substitution

Lecture20 [pdf]

Mar 28

Polymorphism, Hindley Milner type inference

Lecture21 [pdf]

 

Apr 1

Hindley Milner type inference: Algorithm W

Lecture22 [pdf]

Apr 4

Hindley Milner, conclusion; Haskell

Quiz 6

Lecture23 [pdf]

Apr 8

Paper presentations

NO CLASS

HW6 due,

CI paper critique

Apr 11

Paper presentations

Guidelines

Take-home final

Apr 15

Paper presentations

Apr 18

Paper presentations

Apr 22

Paper presentations

Take-home final due and CI paper critique due at NOON on Friday April 26th