SCHEDULE CAN CHANGE!

 

Date

Topic

Reading

Lecture Notes

Homework

Jan 6

Introduction

Syllabus

Lecture1

 

Jan 9

Dataflow Analysis: four classical dataflow problems

Ch. 9.1 and 9.2 from Dragon Book

Lecture2

HW1 (Dataflow)

Jan 13

Dataflow frameworks: lattices and transfer functions

9.3 from Dragon Book

Lecture3

 

Jan 17

Worklist algorithm, MFP and MOP dataflow solutions

9.3 from Dragon Book

Lecture4

 

Jan 23

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

Lecture5

Jan 27

Program analysis in practice: Soot program analysis framework, analysis scope and approximation, HW2

Lecture6

HW1 due

HW2 (Class analysis of Java with Soot)

Jan 30

Class analysis, CHA and RTA

Lecture7

Feb 3

Class analysis, cont.: RTA and XTA

Quiz 2

Lecture8

 

Feb 6

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

Lecture9

HW2 due,

HW3 (Class analysis with Soot)

Feb 10

Interprocedural analysis: MORP, realizeable paths, classical results

Ch. 12.1 and 12.2 from the Dragon Book

Lecture10

Feb 13

Context sensitivity: k-CFA and summary-based

Quiz 3

Lecture11

Feb 18 (Tue)

Abstract Interpretation: Semantics, notion of abstraction, abstraction relation

Lecture12

HW3 due,
HW4 (CI assignment)

Feb 20

Concretization and abstraction functions, Galois connections

Lecture13

Feb 24

Galois connections and transformers

Lecture14

Feb 27

Types and Type-based Analysis: Lambda calculus review

Ch. 5 and 6 from Pierce

Quiz 4

Lecture15

HW4 due,
HW5 (Abstract Interpretation and Haskell)

Mar 10

Interpreters and Haskell

Lecture16

Mar 13

Simply typed lambda calculus,

Ch. 8 and 9 from Pierce

Lecture17

Mar 17

Progress and preservation; Introduction to simple type inference

Lecture18

HW5 due

Mar 20

Simple type inference: let and letrec; goal and intuition

Ch. 22 and 23 from Pierce

Quiz 5

Lecture19

Mar 24

Simple type inference: equality constraints unification, substitution

Lecture20

HW6 Hw6.hs, Data.hs (Haskell)

Mar 27

Hindley Milner

Lecture21

Mar 31

Axiomatic Semantics

Lecture22

Lecture23

Optional HW7 (Z3)

Apr 3

Verification condition generation and symbolic execution

Quiz 6

Apr 7

Paper presentations

Guidelines

HW6 due, HW7 due,

CI paper critique

Apr 10

Paper presentations

Take-home final

Apr 14

Paper presentations

Apr 17

Paper presentations

Apr 22

Paper presentations

Take-home final due and CI paper critique due