Tentative schedule. Subject to change!

 

Date

Topics

Reading

Notes

Assignments

Week 1
1/24

Course Info

Introduction

 

 

Syllabus

Lecture1[ppt][pdf]

 

Week 2 1/28,1/32

CFGs and Classical Compiler Optimizations

 

Lecture2[ppt][pdf]

Lecture3[ppt][pdf]

 

Week 3

2/4, 2/7

Intro to Dataflow Analysis, Classical Dataflow Problems

  

Lecture4[ppt][pdf]

Lecture5[ppt][pdf]

 

Assignment 1

Week 4

2/11, 2/14

Dataflow Frameworks, Fixpoint Iteration

 

Lecture6[ppt][pdf]

Lecture7[ppt][pdf]

 

 

Week 5

2/19, 2/21

More Dataflow Frameworks,

Points-to Analysis

   

Lecture8[ppt][pdf]

Lecture9[ppt][pdf]

Assignment 2

 

Week 6

2/25, 2/28

Interprocedural Dataflow Analysis, Class Analysis (CHA and RTA)

 

Lecture10[ppt][pdf]

Lecture11[ppt][pdf]

 

Soot Project: Phase 1

Week 7

3/4, 3/7

Class Analysis, continued

 

Lecture12[ppt][pdf]

Lecture13[ppt][pdf]

Take-home Midterm exam, due 3/21

Week 8

3/18, 3/21

Fundamentals of Software Testing

 

Lecture14[ppt][pdf]

Lecture15[ppt][pdf] 

Soot Project: Phase 2

Week 9

3/25, 3/28

Testing, continued

 

Lecture16[ppt][pdf]

Lecture17[ppt][pdf]  

Week 10

4/1, 4/4

Refactoring

 

Lecture18[ppt][pdf]

Soot Project: Phase 3

 

Week 11

4/8, 4/11

Types and Type-based Analysis

 

 

Soot Project: Phase 4

Week 12

4/15, 4/18

NO CLASS

  

 

Assignment 3

Week 13

4/22, 4/25

Web Applications and Information Flow Analysis

 

 

Assignment 4

Week 14

4/22, 4/25

Presentations

 

 

   

Week 15

4/9, 5/2

Presentations

 

 

 

Week 16

5/7

Presentations