Here is a list of the papers
are found in your course pack
Read by 9 January 2001
General issues in software engineering [note: these are not
technical papers, in any strong sense]
W.W. Gibbs. Software's Chronic Crisis. Scientific
American (January 1994).
F.P. Brooks, Jr. The Mythical Man-Month.
Addison-Wesley (1995). This is not required, but I really
recommend that you take an evening and read it anyway.
Requirements and specifications
M. Spivey. The Z Notation: A Reference Manual.
Prentice-Hall (out-of-print). You can retrieve a gzipped-postscript
file from http://spivey.oriel.ox.ac.uk/~mike/zrm/.
(If you have trouble getting it or printing it, let me
know. OK, some people had problems: here's PDF.)
It's 168 pages, but you are only required to read the first
chapter in detail and to skim the second chapter. You may
need to look at more of it later on for an assignment, but you
don't need to print it out yet.
Richard J. Anderson, Paul Beame, Steve Burns, William Chan,
Francesmary Modugno, David Notkin and Jon D. Reese. Model Checking Large Software Specifications.
In SIGSOFT'96: Proceedings of the Fourth ACM SIGSOFT Symposium on the
Foundation of Software Engineering, pages 156-166, October 1996, San Francisco, USA. PDF
Read by 23 January 2001 (all from your course pack)
D.L. Parnas
(1972). On the criteria to be used in decomposing systems into
modules. Communications of the ACM, 15 (12), 1053-1058.
D.L. Parnas, et
al. (1976). Design and specification of the minimal subset of an
operating system family. IEEE Transactions on Software
Engineering, 2 (4), 301-307.
D.L. Parnas
(1979). Designing software for ease of extension and contraction. IEEE
Transactions on Software Engineering, 5 (2), 128-138.
D.L. Parnas
& P. Clements (1986). A rational design process: How and why to
fake it. IEEE Transactions on Software Engineering, 12 (2),
251-257.
Read by 30
January 2001 (all from your course pack)
G. Kiczales
(1996). Beyond the black box: Open implementation. IEEE Software,
13 (1), 8, 10-11.
E. Gamma, et al.
(1993). Design patterns: Abstraction and reuse of object-oriented
design. Proceedings of ECOOP '93: 7th European Conference
Proceedings, (707), 406-431.
K. Sullivan
& D. Notkin (1992). Reconciling environment integration and
software evolution. ACM Transactions on Software Engineering and
Methodology, 1 (3), 229-268.
M. VanHilst
& D. Notkin (1996). Decoupling change from design. ACM SIGSOFT
Symposium on the Foundations of Software Engineering, 21 (6), 58-69.
Read
by 13 February 2001
T. Ball & S.
Eick (1996). Software visualization in the large. Computer, 29 (4),
33-43.
G. Murphy &
D. Notkin (1997). Reengineering with reflexion models: A case study.
Computer, 30 (8), 29-36.
Either of the
Rigi papers yellow-highlighted on this
web page (which contains links to the papers themselves)
Read
by 27 February 2001
T. Ball (1999).
The concept of dynamic analysis. Software Engineering Notes, 24
(6), 216-234.
M.D. Ernst, J.
Cockrell, W.G. Griswold, D. Notkin. Dynamically Discovering Likely
Program Invariants to Support Program Evolution. IEEE
Transactions in Software Engineering, v27#2, Feb 2001, pp
1-25. Found at the top of http://sdg.lcs.mit.edu/~mernst/pubs/invariants-tse-abstract.html.
S. Horwitz and
T. Reps. The Use of Program Dependence Graphs in Software
Engineering. Proceedings of the 14th
international Conference on Software engineering (May 1992).
Found here.