|
v
Indicates a classic papers
1. Modularity
1.1
Flexibility
D. Barrett et. al. A
Framework for Event-Based Software Integration. ACM
TOSEM, Volume 5 Issue 4, 1996.
Timothy Harrison, David Levine,
and Douglas Schmidt, The
Design and Performance of a Real-time CORBA Event Service, OOPSLA '97
1.2 Evolution
Meir M. Lehman, Programs,
Life Cycles, and Laws of Software Evolution, Proceedings of the IEEE 68(9)
Sep 1980
M. Rochkind, The Source Code Control System, IEEE Trans. On Soft. Eng. SE-1,
pp. 364—370. Dec. 1975.
W. F. Tichy, Design
implementation and evaluation of a revision control system. Proc. 6th
Int. Conf. Software Eng., Tokyo, September 1982.
M. VanHilst and D. Notkin. Decoupling
Change from Design. FSE '96 p. 58-69.
C. Videira Lopes and K.
Lieberherr. AP/S++:
Case study of a MOP for Purposes of Software Evolution. Reflection
'96. (Read pages 1-9)
Parnas, D. Software
Aging. ICSE 16, 1994.
Laszlo
A. Belady, ch. 17 of Lehman and Belady, Program Evolution, 1985 (first
pub. Oct 1980)
R.W.
Bowdidge and W.G. Griswold, Automated
Support for Encapsulating Abstract Data Types, ACM SIGSOFT '94 Symposium on the
Foundations of Software Engineering, December, 1994. SIGSOFT Software
Engineering Notes, vol. 19, no.5, pp. 97-110, Dec. 1994
R. W.
Bowdidge, W. G. Griswold, Supporting
the Restructuring of Data Abstractions through Manipulation of a Program
Visualization, ACM TOSEM, April 1998.
L. Tokuda and D. Batory. Evolving
Object-Oriented Design with Refactorings, ASE '99.
1.3 Integration
John Ousterhout, Scripting:
Higher Level Programming for the 21st Century, unpublished draft, May 1997
John Ousterhout, An
X11 Toolkit Based on the Tcl Language , Winter USENIX, 1991, Skip
section 3
John Ousterhout, Ousterhout's
response to Stallman's posting, Tcl newsgroup, 1995 (via Salil Parikh)
v
Dennis M. Ritchie, UNIX Time-Sharing System: A Retrospective.
Bell System Technical Journal 57(6) Jul 1978 (first pub. Jan 1977)
v
Dennis M. Ritchie, A Stream Input-Output System, AT&T
Bell Laboratories Technical Journal 63(8) Oct 1984
K. Sullivan and D. Notkin. Reconciling
Environment Integration and Component Independence. 4th ACM SIGSOFT Symposium on Software Development Environments,
1990.
S. Feldman, A Program for
Maintaining Computer Programs. Software
Practice and Experience, April 1979.
1.4 Test, Version Control, and Verification
W.R. Adrion, M.A. Branstad, J.C.
Cherniavsky, Validation, Verification, and Testing of Computer Software, ACM
Computing Surveys, vol. 14, no. 2, pp. 159-192, June 1982.
J. Atlee and J. Gannon.
State-Based Model Checking of Event Driven System Requirements. IEEE
TSE January 1993.
T. Ball. The
Concept of Dynamic Analysis. ESEC/FSE
1999.
M. Chechik and J. Gannon. Automatic
Verification of Requirements Implementation. ISSTA '94.
M.E. Fagan, Design and Code
Inspections to Reduce Errors in Program Development, IBM Systems Journal,
vol. 15, no. 3, pp. 182-211, 1976.
R.H. Katz, Toward a Unified
Framework for Version Modeling in Engineering Databases.
ACM Computing Surveys, 22(4):
375–408, 1990.
D.L. Parnas and D.M. Weiss,
Active Design Reviews: Principles and Practices, Proceedings of the 8th
International Conference on Software Engineering, pp. 132-6, 1985.
1.5 Models of Modularity
v
D. Parnas, On the Criteria To Be Used in Decomposing Systems into
Modules. Communications of the ACM, 15 (12), 1972.
v
D.L. Parnas, On the Design and Development of Program Families, Transactions
on Software Engineering, IEEE, SE-2, March, 1976.
v
D. Parnas, Designing Software for Ease of Extension and
Contraction. Transactions on Software Engineering, IEEE, SE-5, 1979.
v
D.L. Parnas, G. Handzel, and H. Wurges, Design and Specification
of the Minimal Subset of an Operating System Family, Transactions on
Software Engineering, IEEE, SE-2, December 1976.
J. Rumbaugh et al., Object-oriented
modeling and design, Prentice Hall, 1991. (Chapters 2-3, 7-8.4)
SOP, More information is
available from the SOP web page
and the Hyperspaces web page.
AOP, More information is
available from the AOP web
page and the AspectJ web page.
Guidance
on reading an engineering research paper is available.
E.
Baniassad and G. Murphy. Conceptual
Module Querying for Software Reengineering.
ICSE 1992.
L.A.
Belady and M.M. Lehman. A Model of Large Program Development. IBM Systems
Journal, 15(3), 1976
Andrew
Birrell, Greg Nelson, Susan Owicki, and Edward Wobber, Network
Objects, DEC SRC Tech Report, 1995
(previously in SOSP and SP&E)
S.
Clarke, W. Harrison, H. Ossher and P. Tarr. Subject-oriented Design: Towards
Improved Alignment of Requirements, Design and Code. OOPSLA '99, p. 325-337.
T.
DeMarco, On Systems Architecture, Proceedings of the 1995 Monterey Workshop
on Increasing the Practical Impact of Formal Methods for Computer-Aided Software
Development: Specification-Based Software Architectures, 1995.
D.
Garlan and M. Shaw, An
Introduction to Software Architecture. In Advances
in Software Engineering and Knowledge Engineering, 1993. More information
on software architecture is available from Garlan's
and Shaw's
home pages.
D.
Garlan, G. Kaiser and D. Notkin. Using
Tool Abstraction to Compose Systems. Computer,
25, 6, June 1992.
W. G.
Griswold, ``Coping
With Software Change Using Information Transparency'',
Technical Report CS98-585, Department of Computer Science and Engineering,
University of California, San Diego, April 1998 (revised August 1998).
W.G.
Griswold, M.I. Chen, R.W. Bowdidge, and J.D. Morgenthaler, Tool
Support for Planning the Restructuring of Data Abstractions in Large Systems,
in the Proceedings of the ACM SIGSOFT Conference on the Foundations of
Software Engineering (FSE-4), October 1996.
W.G.
Griswold and D. Notkin, Automated Assistance for Program Restructuring. ACM
Transactions on Software Engineering and Methodology 2(30), 1993.
v
A.N. Habermann, L. Flon, and L.
Cooprider, Modularization and Hierarchy in a Family of Operating Systems, Communications
of the ACM, pages 266-72, May 1976 (section 1 only).
Graham
Hamilton and Sanjay Radia, Using
Interface Inheritance to Address Problems in System Software Evolution,
Sun Microsystems Tech Report, 1993
G.
Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Lopes, J. M. Loingtier, and J.
Irwin, Aspect-Oriented
Programming, 11th European Conference on
Object-Oriented Programming, Springer-Verlag, pp. 220-242, June, 1997. (More
on AOP.)
1.6 Case Studies
1.6.1 Case Studies of Flexibility
Susan Angebranndt, Philip
Karlton, Raymod Drewry and Todd Newman, Writing Tailorable Software: The X11
Sample Server, Software Practice & Experience, Vol. 20(s2), Oct 1990.
Brian Bershad et al,
Extensibility, Safety and Performance in
the SPIN Operating System, 15th ACM SOSP, Dec 1995 http://www.cs.washington.edu/research/projects/spin/www/
Nathaniel Borenstein and James
Gosling,UNIX Emacs: A Retrospective, ACM SIGGRAPH Symposium on User
Interface Software, Oct 1988
Digital Equipment Corp., OpenVMS
AXP Internals, chapter 1, 1994 Skip 1.4, 1.6
Dawson Engler et al, Exokernel:
An Operating System Architecture for Application-Level Resource Management,15th
ACM SOSP, Dec 1995
James Gettys, Philip Karlton,
and Scott McGregor, The X Window System, Version 11, Software
Practice & Experience, Vol. 20(s2), Oct 1990
http://www.sunlabs.com/techrep/1993/1993.html
J. Herbsleb and R. Grinter. Conceptual
Simplicity Meets Organizational Complexity: Case Study of a Corporate Metrics
Program. ICSE '98.
Frans Kaashoek et al, Application
Performance and Flexibility on Exokernel Systems, 16th ACM SOSP, Oct
1997 http://www.pdos.lcs.mit.edu/PDOS-papers.html
B.W. Kernighan and R. Pike, The
UNIX Programming Environment, (Englewood Cliffs, NJ: Prentice-Hall), 1984.
Jochen Liedtke's analysis of
Chen's paper, included in his paper On
Microkernel Construction, SOSP 95.
Jeffrey Mogul et al, The
Packet Filter: An Efficient Mechanism for User-level Network Code,
11th ACM SOSP, Nov 1987
Hanspeter Mossenbock, Extensibility
in the Oberon System, Nordic Journal of Computing 1(1994) http://www.oberon.ethz.ch/oberon/
Oki, Pfluegl, Siegel, Skeen, The
Information Bus-an architecture for extensible distributed systems, SOSP 93
Margo Seltzer et al, unpublished
draft 1996 , Issues
in Extensible Operating Systems
Margo Seltzer et al.,
An
Introduction to the Architecture of the VINO Kernel
Harvard University tech report
1994 http://www.eecs.harvard.edu/~vino/vino
Richard Stallman, EMACS, the
extensible, customizable self-documenting display editor, ACM SIGPLAN SIGOA
Symposium on Text Manipulation, Jun 1981.
David J. Wetherall, John Guttag,
and David L. Tennenhouse, ANTS:
A Toolkit for Building and Dynamically Deploying Network Protocols, Submitted
to IEEE OPENARCH'98, San Francisco, CA, April 1998.
1.6.2 Case Studies of Modularity
Graham Hamilton and Panos
Kougiouris, The
Spring Nucleus: A Microkernel for Objects, Sun Microsystems Tech
Report, 1993
Rashid, Baron, Forin, Golub,
Jones, Julin, Orr, Sanzi, Mach:
A Foundation for Open Systems, Proceedings of the Second Workshop on
Workstation Operating Systems (WWOS2), Sep 1989
W. G. Griswold and D. Notkin, Architectural
Tradeoffs for a Meaning-Preserving Program Restructuring Tool, Transactions
of Software Engineering, IEEE, vol. 21, no. 4, pp. 275-287, April, 1995.
1.6.3 Case studies of Integration
Dale Skeen, An information bus
architecture for large-scale, decision-support environments, USENIX 92
2. Value Systems
F.P. Brooks, No Silver
Bullet--Essence and Accidents of Software Engineering, Computer, 20(4),
1987. (Chapter from The Mythical Man Month: Essays on Software Engineering,
Anniversary Edition, Addison-Wesley, 1995.)
F.P. Brooks, The Mythical
Man Month: Essays on Software Engineering, Anniversary Edition,
Addison-Wesley, 1995.
Brooks, Jr., F.P., 1996: "The
Computer Scientist as Toolsmith II." Keynote/Newell
Award address at SIGGRAPH 94,
Orlando, July 1994. Communications of the
ACM, March, 39(3):61-68. Also Computer
Graphics, 28(4) November 1994, 281-287, Orlando, FL.
J. Bradley Chen and Brian
Bershad, The
Impact of Operating System Structure on Memory System Performance,
14th ACM SOSP, Dec 1993
2.1 Failure and Risk
D. Garlan, R. Allen and J.
Ockerbloom, Architectural
Mis-match: Why Reuse is So Hard. Software, IEEE, 12(6),
1995. More information on the ABLE
project is available.
H. Petroski, Design
Paradigms, Cambridge University Press, 1994.
W. Brown et. al. Antipatterns, Introduction
to Antipatterns (p. 3-12, 15-17).
2.2 Multi-stake Holder Decisions
J. Blomberg et al., Ethnographic
Field Methods and Their Relation to Design, Participatory Design: Principles
and Practices, from CPSR First Participatory Design Conference 1990, pp.
123-155, 1993.
E. Carmel et al., PD and Joint
Application Design: A Transatlantic Comparison, Communications of the ACM,
June 1993.
F. Kensing and K.H. Madsen,
Future Workshops and Metaphorical Design, Design at Work: Cooperative Design
of Computer Systems, Chapter 8, L. Erlbaum Associates, 1991.
2.3 Requirements Analysis
C.A.R. Hoare, Communicating
Sequential Processes, Communications of
the ACM, vol. 21, no. 8, pp. 666-677 (August, 1978).
J.A. Goguen and C. Linde,
Techniques for Requirements Elicitation, Proceedings of IEEE International
Symposium on Requirements Engineering, p. 152-64, January 1993.
3. Open Implementations
G.
Kiczales, Beyond
the Black Box: Open Implementation. Software,
IEEE, January 1996. More information on open
implementation is available.
G.
Kiczales, J. Lamping, C.V. Lopes, C. Maeda, A. Mendhekar, and G. Murphy, Open
Implementation Guidelines, Proceedings
of the 19th International Conference on Software Engineering, pp. 481-490,
April 1997.
M.
Haines. An
Open Implementation Analysis and Design for Lightweight Threads.
OOPSLA '97.
4. The Development Process
B.W. Boehm, A Spiral Model of
Software Development and Enhancement, Computer, 21(5), 61-72, May 1988.
5. Security
Michael Burrows, Martin Abadi
and Roger Needham, A Logic of Authentications, February 28, 1989.
5. Additional Resources
Robert Wahbe et al, Efficient
Software-Based Fault Isolation 14th ACM SOSP, Dec 1993
K.H. Madsen, A Guide to
Metaphorical Design, Communications of the ACM, vol. 37, no. 12, Dec.
1994.
v
F. DeRemer and H.H. Kron. Programming-in-the-Large Versus
Programming-in-the-Small. IEEE TSE, SE-2, 1976, p. 80-86.
v
E.W. Dijkstra. The Structure of the
"THE"-Multiprogramming System. CACM
11, 5, May 1968, p. 341-346.
Copyright 2000 Kevin
Sullivan. All Rights Reserved. Site
maintained by Benjamin Hallen.
|
|