CSE 503: Software Engineering

Homework Assignment #4

Due Friday March 12, 1999

This assignment is entirely based on readings.  In particular, for each reading, you are to write a structured report based on Bill Griswold's discussion of How to Read An Engineering Research Paper.  Do not be an absolute slave to this structure, but use it intelligently as a way to report to me on what you've read.  As a final note, I will discuss most or all of these in class in some degree of detail, and I'll be looking in part for information that goes beyond what we covered there.

The papers are:

  1. S. Horwitz and T. Reps.  The use of program dependence graphs in software engineering. In Proceedings of the Fourteenth International Conference on Software Engineering, (May 11-15, 1992, Melbourne, Australia), ACM, New York, NY, 1992, pp. 392-411.
  2. G.C. Murphy and D. Notkin.  Reengineering with Reflexion Models: A Case Study. Computer 30, 8, pp. 29-36 (August 1997). Translated (Japanese) and reprinted in Nikkei Computer, 19, January 1998, p. 161-169.
  3. M. Ernst, J. Cockrell, W.G. Griswold and D. Notkin.  Dynamically Discovering Likely Program Invariants to Support Program Evolution.  To appear, ICSE99, 21st International Conference on Software Engineering (May 1999).
  4. R. O'Callahan and D. Jackson, Lackwit: A Program Understanding Tool Based on Type Inference, Proceedings of the 19th International Conference on Software Engineering, May 1997.
  5. David Evans. Static detection of dynamic memory errors, SIGPLAN Conference on Programming Language Design and Implementation, PLDI '96, Philadelphia, PA, May 1996.