CS 653: Static and Dynamic Program Analysis (Spring 2006)


Syllabus for CS 653 (http://www.cs.colostate.edu/~cs653)

Course Description

In this course, we will read and review papers that present static and/or dynamic program analysis techniques aimed at improving program performance or checking program safety. Static analysis (eg. data-flow analysis) determines information about programs at compile time, and dynamic analysis (eg. profiling) observes information about a program while it executes. Another major component of the course will be a program analysis implementation project of the students choosing. This course does not involve a textbook or any exams.

Prerequisites for this course include CS553 or instructor approval.

Date and Time

Tuesday and Thursday 11-12:15, Room 310B University Services Center


Dr. Michelle Strout (mstrout@cs.colostate.edu), OH: Tues 3-4pm and Thurs 2-3pm, 227 USC


Grades will be posted on WebCT.

Weekly critical reviews of papers: 40%
Project: 40%
Presenting and leading a discussion on a paper: 10%
Class participation: 10%

Class Communication

Send me your email address so that I can invite you to join the cs653 yahoo group. We will be using this group as the class mailing list. You are responsible for any emails I send to this list.
Email: cs653@yahoogroups.com
URL: http://groups.yahoo.com/group/cs653/

Honesty Policy

The Computer Science Department Student Information Sheet. You must write your own reviews without borrowing text from the paper you are reviewing, the internet, or your friends.

Paper Reviews

Each student will be responsible for writing one critical review of one of the papers covered each week. You need to turn in 13 reviews througout the semester, thus allowing you to not submit a review any 2 of the 15 weeks in the course.

The reviews should be one to two pages that cover the following questions about the paper:

  • What problem did the paper address?
  • Is it important/interesting? What was the context for the paper?
  • What is the approach used to solve the problem?
  • How does the paper support or otherwise justify the conclusions it reaches?
  • What problems are explicitly or implicitly left as future research questions?

An example review can be found at http://www.cs.colostate.edu/~cs653/example-review.html

Presenting and Leading a Discussion on a Paper

Each student will be presenting and leading the discussion for one paper. The presenter must schedule a practice presentation with Dr. Strout at least two days before the in class presentation. Detailed guidelines for the paper presentation are posted at http://www.cs.colostate.edu/~cs653/presentation.html.


Each student will do a semester-long project either individually or with a partner. The project will consist of the following deliverables:
  • Proposed tool example with preliminary project proposal
  • Proposal and Tool example
  • Verbal status report (15 minutes)
  • Intermediate report
  • Final report and elevator speech
The list of possible projects is available to those in the colostate.edu domain.

Class Participation

Everyone must read each paper. While you are reading each paper, you should develop at least one question or point relevant for discussion of the paper.

Class Resources

Links to various class resources will be posted at http://www.cs.colostate.edu/~cs653/links.html.

Michelle Strout
Last modified: January 27, 2006