Spring 2013, CS 253 Schedule

Date

Lectures

Presentation Slides

Papers to Read

Projects

Topic I. Foundations (formal semantics, lattice theory, fixedpoints) + dataflow analysis

 

April 1 (Mon)

Introduction + foundations

Lecture 1

 

April 3 (Wed)

Foundations

 

 

April 5 (Fri)

Reaching definition analysis, available expression analysis, live variable analysis

 

 

 

April 8 (Mon)

Monotone frameworks, solutions to equation solving

 

 

April 10 (Wed)

pointer analysis

 

April 12 (Fri)

Interprocedural dataflow analysis via graph reachability (e.g., IFDS/IDE)

Peizhao

Reps et al. POPL`95

First project due

April 15 (Mon)

The spark points-to analysis framework

Khanh

Points-to analysis in Spark

Topic II. Functional Language + Constraint-based Analysis

 

April 17 (Wed)

Lambda Calculus + functional programming

Lecture 2

 

April 19 (Fri)

Constraint-based 0-CFA analysis

 

April 22 (Mon)

Constraint-based k-CFA analysis

 

 

April 24 (Wed)

k-CFA analysis for imperative languages

 

 

April 26 (Fri)

Set-constraint-based analysis I

Lulu

Overview of set constraints

 

April 29 (Mon)

Constraint-based points-to analysis

Lu

Constraint-based points-to analysis

Topic III. Abstract Interpretation

 

May 1 (Wed)

An overview of abstract interpretation

Lecture 3

 

May 3 (Fri)

Approximation of fixed points,

 

Second project due

May 6 (Mon)

widening and narrowing operators

 

May 8 (Wed)

Galois connections

 

May 10 (Fri)

Galois connections

 

 

 

May 13 (Mon)

Some interesting abstract domains and interpreters

Byron

A Semantics-Based Approach to Malware Detection

 

Topic IV. Type and Effect System + Introduction to JVM

 

May 15 (Wed)

A type system for CFA

Lecture 4

 

May 17 (Fri)

Type inference algorithm

 

May 20 (Mon)

Combining types and effects

 

Third project due

May 22 (Wed)

Modularity - aspect-oriented programming

 

 

May 24 (Fri)

Interesting type and effect system I

Eric

A type and effect system for atomicity

 

May 27 (Mon)

No class, university holiday

May 29 (Wed)

Introduction to Java Virtual Machine

Jikes RVM

 

Topic V. Practical Techniques

 

May 31 (Fri)

Symbolic execution and concolic testing

Chris

DART

June 3 (Mon)

Class cancelled

Prof. Xu traveling for work

June 5 (Wed)

Class cancelled

Prof. Xu traveling for work

June 7 (Fri)

Typestate-based analysis

Dennis

Typestate-based verification

Final project due

Acknowledgement: this webpage was adapted from Prof.  Feng Qin's CSE 755 schedule page at Ohio State.