Topics (UNDER CONSTRUCTION)
to Read an Engineering Research Paper. Bill Griswold
- F. DeRemer, and H.H. Kron. Programming-in-the-large
Versus Programming-in-the-small. IEEE Transactions on Software
Engineering, Vol. SE-2, No. 2, June 1976, pages 80-86.
- F. Brooks. No
Silver Bullet - Essence and Accidents of Software Engineering. IEEE
Computer, April 1987
- S. Redwine, and W. Riddle. Software
Technology Maturation. Proceedings of 8th International Conference on
Software Engineering, May 1985, pages 189-200.
ITR program proposal, Alan F. Karr, David Notkin, Adam Porter, and
- W. W. Royce, Managing
the development of large software systems: concepts and techniques,
International Conference on Software Engineering Proceedings of the 9th
international conference on Software Engineering,1987 , Monterey,
California, United States
- Barry Boehm "A
Spiral Model of Software Development and Enhancement." IEEE Computer,
vol.21, #5, May 1988, pp 61-72.
- Ray98 E. Raymond. The Cathedral and
- Beck, K. Embracing
Change with Extreme Programming. IEEE Computer. 32(10), p. 70-77, 1999.
Microsoft builds software", Michael Cusumano and Richard Selby,
Communications of the ACM, vol. 40, No. 6, pp. 53-62, June 1997.
Requirements and Specification Languages
- J.M. Wing. A
Specifier's Introduction to Formal Methods. IEEE Computer, 23(9):8-24,
Software Requirements for Complex Systems: New Techniques and Their
Application, Kathryn L. Heninger, IEEE Trans. Software Engineering 6(1),
Jan. 1980, p. 2-13.
Model Checker SPIN. Gerard J. Holzmann, IEEE TRANSACTIONS ON SOFTWARE
ENGINEERING, VOL. 23, NO. 5, MAY 1997.
- D.L. Parnas. Designing
software for ease of extension and contraction. IEEE Transactions on
Software Engineering , Vol. SE-5, No. 2, June 1979, pages 128-137.
- D.L. Parnas. On
the Criteria to be Used in Decomposing Systems into Modules.
Communications of the ACM , Vol. 15, No. 12, December 1972, pages 1053-1058.
- 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.
- B. Lampson. Hints
for Computer System Design. IEEE Software , Vol. 1, No. 1, January 1984,
Software Architecture & Component-Based Development
for the Study of Software Architecture, Dewayne E. Perry, Alexander L.
Wolf, ACM Software Engineering Notes, 17(4), Oct. 1992, p. 40-52.
- 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.
- G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Lopes, J.-M.
Loingtier, and J. Irwin. Aspect-oriented
programming. In ECOOP'97---Object-Oriented Programming, 11th European
Conference, LNCS 1241, pages 220--242, 1997.
Coding and Verification & Validation
Proofs of Correctness
- Go To
Statement Considered Harmful, Edsger W. Dijkstra, Letter to the Editor
in Communications of the ACM, 11(3), March 1968, p. 147-148.
Axiomatic Basis for Computer Programming, C. A. R. Hoare, Communications
of the ACM, 12(10), Oct. 1969, p. 576-583
Processes and Proofs of Theorems and Programs, Richard A. De Millo,
Richard J. Lipton, Alan J. Perlis, Communications of the ACM, 22(5), May
1979, p. 271-280.
Program Analysis Techniques
- 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).
- M. Weiser. Program
Slicing, IEEE Transactions on Software Engineering, SE-10(4):352-357,
- R. O'Callahan and D. Jackson. Lackwit:
A program understanding tool based on type inference. Proceedings of the
1997 International Conference on Software Engineering, Boston, USA, 1997
- 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.
Programs: A Model and Process for Software Analysis, T. Ball, S.K.
Rajamani, MSR Technical Report 2000-14, February 2000.
- Goodenough, J. B. AND Gerhardt, S. L. 1975. Toward
a theory of test data selection. IEEE Trans. Softw. Eng. SE-3.
- Baresi, Luciano and Young, Michal, Test
Oracles, University of Oregon Technical Report, Computer and Information
Science, CIS-TR-01-02, 2001.
GUI test case generation using automated planning, Memon, A.M.; Pollack,
M.E.; Soffa, M.L. 144-155, IEEE Transactions on Software Engineering,
Volume: 27, Issue: 2, Feb 2001
the Limit of Control Flow Analysis for Regression Test Selection Thomas
- Kuo-Chung Tai and Yu Lei, A
Test Generation Strategy for Pairwise Testing, IEEE Transaction on
Software Engineering, Vol. 28, No. 1, pp. 109-111, Jan. 2002.
- Fag76 M.E. Fagan. Design and code inspections to reduce errors in
program development. IBM Systems Journal , Vol. 15, No. 3, 1976, pages
- A. A. Porter, H. Siy, C.A. Toman and L.G. Votta, An
Experiment to Assess the Cost-Benefits of Code Inspections in Large Scale
Software Development. IEEE Transactions on Software Engineering, 23(6):
329-346, June, 1997.
- D. E. Perry, A. Porter, M. Wade, L. Votta and J. Perpich, Reducing
inspection interval in large-scale software development. IEEE
Transactions on Software Engineering. Volume: 28, Issue: 7,
- L. Belady, and M. Lehman. A model of large program development. IBM
Systems Journal , Vol. 15, No. 3, 1976, pages 225-252.
- Reps, T., Ball, T., Das, M., and Larus, J., "
The use of program profiling for software maintenance with applications to
the Year 2000 Problem," ESEC/FSE '97: Sixth European Software
Engineering Conference and Fifth ACM SIGSOFT
- T. Ball (1999). The
concept of dynamic analysis. Software Engineering Notes, 24 (6),
- Symposium on the Foundations of Software Engineering.
- Eick, S.G.; Graves, T.L.; Karr, A.F.; Marron, J.S.; Mockus, A. Does
code decay? Assessing the evidence from change management data. IEEE
Transactions on Software Engineering, Volume: 27, Issue: 1,
Jan 2001 1-12
- D. Atkins, T. Ball, T. Graves, and
A. Mockus. Using
Version Control Data to Evaluate the Effectiveness of Software Tools: A Case
Study of the Version Editor, with Ball, Graves, Mockus, IEEE
Transactions on Software Engineering, July 2002.
Development Tools and Environments