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

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

(Detailed class schedule at http://www.cs.colostate.edu/~cs653/schedule.html)

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 student's choosing. This course does not involve a textbook or any exams.

Prerequisites for this course include CS553 or instructor approval.

Date and Time

Monday and Wednesday 12:10-1:25, Room 310B


Dr. Michelle Strout (mstrout@cs.colostate.edu), OH: TBA, 227 USC


Grades will be posted on WebCT.

Weekly critical reviews of papers: 30%
Project: 30%
Mini Research Exam: 20%
Presenting and leading a discussion on a paper: 10%
Class participation: 10%

Class Communication

We will be using this group as the class mailing list. You are responsible for the content of any emails I send to this list.
Email: cs653@googlegroups.com
URL: http://groups-beta.google.com/group/cs653?hl=en

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. Any text from other sources must be properly quoted and cited.

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 11 reviews througout the semester, thus allowing you to not submit a review any 4 of the 15 weeks in the course. The reviews should be one to two pages and 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

Paper Presentations and the Mini Research Exam

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


Each student will do a semester-long project either individually or with a group. 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
Detailed guidelines for the project are posted at http://www.cs.colostate.edu/~cs653/project.html.

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 23, 2007