CS 653: Class Schedule (Spring 2006)

Most of the class notes and assignment writeups are in PDF format. Downloading some of the papers must be done from the csu domain.
Date Topic Paper Student Due
Jan 17 (T)  Introduction (PDF)   How to Read an Engineering Research Paper and Basic Research Skills in Computer Science, also see Tool links    
Understanding the Problems
Jan 19 (R)   Performance (PDF) Quantifying Behavioral Differences Between C and C++ Programs by Brad Calder, Dirk Grunwald, and Benjamin Zorn    Paper critique (for remaining weeks, there is a paper critique due once a week, either before Tuesday class or before Thursday class)
Jan 24 (T)  Program Safety (or lack thereof) Software Bugs Can be Lethal at CBS News April 29, 2003; Software Hell at Business Week December 6, 1999; also see Well Known Software Failures and Sony CD copy protection controversy    
Dataflow Analysis and Abstract Interpretation
Jan 26 (R)  Dataflow analysis Properties of Dataflow Frameworks: A Unified Model by T. Marlowe and B.G. Ryder  open  
Jan 31 (T)  Abstract Interpretation (PDF) Abstract Interpretation in a Nutshell by Bruno Blanchet et al.; and Abstract Interpretation: Achievements and Perspectives by Patrick Cousot, also see other resources  open  
Feb 2 (R)  Polyhedral Constraints Automatic discovery of linear restraints among variables of a program by Patrick Cousot and Nicolas Halbwachs  open  
Feb 7 (T)   Writing a Project Proposal (PDF)  How to Write a Master's Thesis in Computer Science    Proposed tool example, preliminary project proposal
Using Dataflow analysis for Security and Correctness
Feb 9 (R)  FindBugs (PDF) Finding Bugs is Easy by David Hovemeyer and Bill Pugh  Sandeep  
Feb 14 (T)  Context and Flow Sensitivity Client-Driven Pointer Analysis by Samuel Z. Guyer and Calvin Lin  open  
Dealing with Pointers
Feb 16 (R)  Pointer Analysis Survey (PDF) Pointer Analysis: Haven't We Solved This Problem Yet? by Michael Hind  Kevin  
Feb 21 (T)  Flow-insensitive, Context-sensitive Pointer Analysis (PDF) Efficient points-to analysis for whole-program analysis Donglin Liang and Mary Jean Harrold  Shweta  
Feb 23 (R)  How to give a talk (PDF)      Project proposal, tool example
Feb 28 (T)  Path sensitivity Path slicing by Ranjit Jhala and Rupak Majumdar  open  
Mar 2 (R)  Constructive Criticism Data-flow Analysis for MPI Programs by Michelle Mills Strout, Barbara Kreaseck, and Paul Hovland  open  
Improving Analysis Precision
Mar 7 (T)  Model Checking (PDF) Model-checking large network protocol implementations by Dawson Engler and Madanlal Musuvathi  Vamsi  
Mar 9 (R)  Shape analysis (PDF) Connection Analysis: A Practical Interprocedural Heap Analysis for C by Rakesh Ghiya and Laurie J. Hendren  Niranjan  
Staged and Dynamic Compilation
Mar 21 (T)  LLVM LLVM: A Compilation Framework for Lifelong Program Analysis and Transformation by Chris Lattner and Vikram Adve  open  
Mar 23 (R)  Project status reports  Sandeep, Shweta, Sundeep    Verbal status report
Mar 28 (T)  Project status reports  Niranjan, Daegon, Vamsi, Kevin    
Mar 30 (R)  Staged Compilation Towards Automatic Construction of Staged Compilers by Matthai Philipose, Craig Chambers, and Susan J. Eggers  Sundeep  
Apr 4 (T)  Dynamic Compilation Using Annotation to Reduce Dynamic Optimization Time by Chandra Krintz and Brad Calder  open  
Apr 6 (R)  Path Profiling Efficient Path Profiling by Thomas Ball and James R. Larus  open  
Apr 11 (T)  Profiling and Dataflow Analysis Improving Data- Flow Analysis with Path Profiles by Glenn Ammons and James Larus  open  
Apr 13 (R)  Michelle Out-of-Town The Elevator Speech     Intermediate project report
Problems with Dataflow Analysis
Apr 18 (T)  Data dependence analysis Advanced compiler optimizations for supercomputers by David A. Padua and Michael J. Wolfe  open  
Apr 20 (R)  Connection between data dependence analysis and the polyhedral model A Dataflow Analysis of Array and Scalar References by Paul Feautrier  open  
Static/Dynamic Data Dependence Analysis
Apr 25 (T)  Non-affine references  Nonlinear Array Dependence Analysis by Bill Pugh and David Wonnacott  Daegon  
Apr 27 (R)  Hybrid Analysis Hybrid analysis: static and dynamic memory reference analysis by Silvius Rus and Lawrence Rauchwerger and Jay Hoeflinger  open  
Domain-Specific Code Generation
May 2 (T)  PHiPaC Optimizing Matrix Multiply using PHiPAC: a Portable, High-Performance, ANSI C Coding Methodology by Jeff Bilmes, Krste Asanovic, Chee-whye Chin, and Jim Demmel  open  
May 4 (R)  Loop Code Generation Generation of Efficient Nested Loops from Polyhedra by Fabien Quillere, Sanjay Rajopadhye, and Doran Wilde    Final project report

Michelle Strout
Last modified: March 20, 2006