CSE 590 MD: Program Analysis

   
    

Instructor: Manuvir Das

   
   

Introduction

Spring 2001
 
  The first nine weeks of class shall cover various aspects of program analysis. The emphasis shall be on the analysis landscape formed by the cost/precision tradeoff, and various techniques for implementing analyses from interesting points in the landscape. We'll cover a range of analyses from flow-insensitive (type inference), to flow-sensitive (dataflow), to path-sensitive (simulation & model checking). We'll also study dynamic analysis as a complement to static analysis. Classes will include instruction as well as discussion of relevant research papers. There will be six guest lectures by experts in particular aspects of analysis.

The class will be offered in two flavours: For 2 credits, students must read papers every week, and submit written one paragraph answers to one question on each assigned paper. For 3 credits, students must also complete a class project related to static program analysis. We'll provide infrastructure in the form of the AST Toolkit, which provides ASTs and CFGs, a pointer-analysis infrastructure, a path simulator based on the toolkit, and parts of the SLAM toolkit. Students can also use any other infrastructure of their own choice. The goal of the projects is to give students practical experience with analysis and to facilitate experiments that answer interesting open questions in program analysis. The projects will be relatively small (less than two weeks of effort), and may mix theory and practice. Although I have a list of suggested projects, students are encouraged to propose their own projects.

In the last week of class, we'll hear about several current projects that are pushing the envelope of static analysis methods from the project designers themselves. Students who've done class projects will have a chance to present their results.

This class is intended for practitioners of program analysis as well as people who may be able to use program analysis to solve problems in their particular domains.

Additional info:
Introduction
Information
Topics
Lecture Schedule
Lecture Notes
Reading List
Homework


Email Manuvir
 
 
     
  CSE 590MD © 2001, Department of Computer Science and Engineering, University of Washington.