Readings:
T. Ball (1999). The concept
of dynamic analysis. Software Engineering Notes, 24 (6), 216-234.
T. Ball & S. Eick
(1996). Software visualization in the large. Computer, 29 (4), 33-43.
B.W. Boehm (1988). A spiral
model of software development and enhancement. Computer, 21 (5), 61-72.
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.
W.W. Gibbs (1994, January).
Software’s chronic crisis. Scientific American, 72-81.
L. Hatton (1997).
Reexamining the fault density: Component size connection. IEEE Software,
14 (2), 89-97.
G. Kiczales (1996). Beyond
the black box: Open implementation. IEEE Software, 13 (1), 8, 10-11.
N.G. Leveson (1986).
Software safety: Why, what and how. Computing Surveys, 18 (2), 125-163.
G. Murphy & D. Notkin
(1997). Reengineering with reflexion models: A case study. Computer, 30
(8), 29-36.
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 (1979).
Designing software for ease of extension and contraction. Transactions on
Software Engineering, 5 (2), 128-138.
D.L. Parnas, et al. (1976).
Design and specification of the minimal subset of an operating system family. Transactions
on Software Engineering, 2 (4), 301-307.
D.L. Parnas & P.
Clements (1986). A rational design process: How and why to fake it. Transactions
on Software Engineering, 12 (2), 251-257.
D.L. Parnas & D.M. Weiss
(1985). Active design reviews: Principles and practices. Proceedings of the
8th International Conference on Software Engineering, 132-136.
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.