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]

 

Week 3

2/4, 2/7

Intro to Dataflow Analysis, Classical Dataflow Problems

  

 

Assignment 1

Week 4

2/11, 2/14

Dataflow Frameworks, Fixpoint Iteration

 

 

Assignment 2

Week 5

2/19, 2/21

Interprocedural Dataflow Analysis, Class Analysis (CHA and RTA), Points-to Analysis

   

 

Soot Project: Phase 1

Week 6

2/25, 2/28

Fundamentals of Software Testing

 

 

Soot Project: Phase 2

Week 7

3/4, 3/7

Testing, continued

 

 

Soot Project: Phase 3

Take-home Midterm exam

 

Week 8

3/18, 3/21

Refactoring

 

 

Soot Project: Phase 4

Week 9

3/25, 3/28

Types and Type-based Analysis, Pluggable Types

 

 

Assignment 3

Week 10

4/1, 4/4

Types, continued

 

 

Assignment 4

 

Week 11

4/8, 4/11

Web Applications and Information Flow Analysis

 

 

Assignment 5

Week 12

4/15, 4/18

NO CLASS

  

 

 

Week 13

4/22, 4/25

Javascript and Analysis for Javascript

 

 

Assignment 6

Week 14

4/22, 4/25

Presentations

 

 

   

Week 15

4/9, 5/2

Presentations

 

 

 

Week 16

5/7

Presentations