CSE 584: Software Engineering

Assigned Readings

Autumn 1998


(Last edited 11/17/98 05:20 PM)

You are only responsible for the numbered readings; the other stuff is only FYI.

  1. Evaluation and assessment of software engineering research
    1. W.F. Tichy.  Should Computer Scientists Experiment More?  Computer 31, 5, pp. 32-40, May 1998.
      A preprint of this paper appears on Tichy's home page
      You can get a PDF version from the IEEE Computer Society digital library, if you have access
    2. M.V. Zelkowitz and D. Wallace.  Experimental Models for Validating Technology.  Computer 31, 5, pp. 23-30, May 1998.
      A preprint of this paper appears on Zelkowitz's publications page
      You can get a PDF version from the IEEE Computer Society digital library, if you have access
    3. W.W. Gibbs. Software's Chronic Crisis, Scientific American, pages 72-81, September 1994.
    4. D.L. Parnas. Why Software Jewels are Rare, Computer 29, 2, pp. 57-60, February 1996.
      You can get an HTML version from the IEEE Computer Society digital library, if you have access
  2. Design
    1. D.L. Parnas. On the Criteria To Be Used in Decomposing Systems into Modules. Communications of the ACM, 15 (12), 1972.
      This paper was ACM's Classic of the Month in May 1996
    2. D.L. Parnas, Designing Software for Ease of Extension and Contraction. IEEE Transactions on Software Engineering, SE-5, 1979.
    3. K.J. Sullivan and D. Notkin.  Reconciling Environment Integration and Component Independence, In Proceedings of the SIGSOFT '90 Fourth Symposium on Software Development Environments, December, 1990.
      An extended version appears in ACM Transactions on Software Engineering and Methodology 1,3, pp. 229--268 (July 1992).
      Download extended version (pdf)
    4. G. Kiczales, G. Beyond the Black Box: Open Implementation. IEEE Software, January 1996.
      More information on open implementation is available
      The follow-up work on open implementation is aspect-oriented programming
    5. D. Garlan and M. Shaw, An Introduction to Software Architecture. In Advances in Software Engineering and Knowledge Engineering, 1993.
      More information is available from Garlan's and Shaw's home pages
    6. E. Gamma, R. Helm, R. Johnson, J. Vlissides.  Design Patterns: Abstraction and Reuse of Object-Oriented Design. In Proceedings of ECOOP '93, 1993.
      Design patterns home page
      Tool support for object-oriented design patterns
    7. R.E. Johnson.  Components, Frameworks, Patterns.  Department of Computer Science, University of Illinois, February 1997.
      An on-line version is available (framework97.ps in that ftp directory)
    8. K.J. Sullivan and J.C. Knight.  Experience Assessing an Architectural Approach to Large-Scale Systematic Reuse.  In Proceedings of the 18th International Conference on Software Engineering, Berlin, Germany, March 25-29, 1996, pp. 220-229.
      An on-line version is available.
  3. Evolution
    1. R.W. Bowdidge and W.G. Griswold.  Automated Support for Encapsulating Abstract Data Types.  In Proceedings of the ACM SIGSOFT 1994 Symposium on the Foundations of Software Engineering, December 1994.
    2. H.A. Müller, M.A. Orgun, S.R. Tilley and J.S. Uhl.  A Reverse Engineering Approach to Subsystem Structure Identification.  In Software Maintenance: Research and Practice 5, 4, pp. 181-204 (December 1993).
    3. D.L. Parnas.  Software Aging.  In Proceedings of the 16th International Conference on Software Engineering, Sorrento, Italy, 1994, pp. 279-287.
    4. G.C. Murphy and D. Notkin.  Reengineering with Reflexion Models: A Case Study.   In Computer 30,8,  pp. 29-35 (August 1997).
  4. Requirements and specification
    1. M. Jackson and P. Zave.  Deriving Specifications from Requirements: An Example.  In Proceedings of the 17th International Conference on Software Engineering (April 1995).
    2. N.G. Leveson, M.P.E. Heimdahl, H. Hildreth and J.D. Reese.  Requirements Specification for Process-Control Systems.  In IEEE Transactions on Software Engineering 20,9, pp. 684--707 (September 1994).
      Here is a postscript version of the paper that appears to be almost identical, although the figures all come at the end (and it is many more pages than the actual journal version)
    3. E.M. Clarke and J.M. Wing.  Formal Methods: State of the Art and Future Directions.   In ACM Computing Surveys 28, 4, pp. 626--643 (December 1996).
      Here is a postscript version of the paper that appears to be almost identical
    4. Formal Methods: Point-Counterpoint.  In Computer 29,4, pp. 18--30 (April 1996).
  5. Tools
    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.
      You can find an on-line version on the Wisconsin Slicing Project home page
    2. Michael Ernst, Jake Cockrell, William G. Griswold, and David Notkin.  Dynamically Discovering Likely Program Invariants to Support Program Evolution.   University of Washington technical report UW-CSE-98-08-03, August 27, 1998.  A version to appear ICSE '99.
      Postscript
    3. R. O'Callahan and D. Jackson.  Lackwit: A Program Understanding Tool Based on Type Inference.  In the 1997 International Conference on Software Engineering (May 1997).
      A postscript version appears here
    4. David Evans.  Static detection of dynamic memory errors.  SIGPLAN Conference on Programming Language Design and Implementation, PLDI '96, Philadelphia, PA, May 1996.
      A postscript version appears here

       


webmaster