This page contains the Software Phase II Reading List. This list is subject to change by the Software faculty.

Reading list updated: October 2008.

The Discipline of Software Engineering

[McI68] M.D. McIlroy. 'Mass Produced' Software Components. In Software Engineering: A Report on a Conference Sponsored by the NATO Science Committee, P. Naur and B. Randell (eds.), pp. 138-155, Garmisch, Germany, October 1968.

[Sha90] Shaw, M. 1990. Prospects for an Engineering Discipline of Software. IEEE Software 7, 6 (Nov. 1990), 15-24.

[OGKW08] Osterweil, L. J., Ghezzi, C., Kramer, J., and Wolf, A. L. 2008. Determining the Impact of Software Engineering Research on Practice. Computer 41, 3 (Mar. 2008), 39-49.

Formal Methods

[JD96] Jackson, D. and Damon, C.A. Elements of Style: Analyzing a Software Design Feature with a Counterexample Detector. IEEE Transactions on Software Engineering. 22(7), p. 484-495, 1996.

[Win90] J.M. Wing. A Specifier's Introduction to Formal Methods. IEEE Computer, 23(9):8-24, September 1990.

Analysis & Testing

[ABC82] W. Richards Adrion, Martha A. Branstad, and John C. Cherniavsky. Validation, verification, and testing of computer software. ACM Computing Surveys, 14(2):159-192, June 1982.

[RW85] Rapps, S. and Weyuker, E.J. Selecting Software Test Data Using Data Flow Information. IEEE Transactions on Software Engineering. SE-11(4), p. 367-375, April 1985.

[Wei84] M. Weiser. Program Slicing, IEEE Transactions on Software Engineering, SE-10(4):352-357, July 1984.

[CPRZ89] L.A. Clarke, A. Podgurski, D.J. Richardson and S.J. Zeil. A Formal Evaluation of Data Flow Path Selection Criteria, IEEE Transactions on Software Engineering, November 1989

[Hol97] Gerard J. Holzmann. The Model Checker SPIN. IEEE Transactions on Software Engineering, 23(5):279-295, May 1997.

[DHPRV07] Dwyer, M. , J. Hatcliff, C. Pasareanu, Robby, and W. Visser. 2007. Formal Software Analysis: Emerging Trends in Software Model Checking. In Future of Software Engineering 2007, edited by L. Briand and A. Wolf: IEEE-CS Pres, pp. 120-136.

[JH02] James A. Jones and Mary Jean Harrold. Empirical Evaluation of the Tarantula Automatic Fault-Localization Technique. Proceedings of the 20th IEEE/ACM International Conference on Automated Software Engineering, Long Beach, California, USA, November 2005, pp. 273-282.

[Ric94] D.J. Richardson. TAOS: Testing with Analysis and Oracle Support. Proceedings of the 1994 International Symposium on Software Testing and Analysis, pp. 138-153, Seattle, WA, August 1994.

[Ros95] Rosenblum, D.S. A Practical Approach to Programming with Assertions. IEEE Transactions on Software Engineering. 21(1), p. 19-31, January, 1995.

[PY99] Pavlopoulou, C. and M. Young (1999). Residual test coverage monitoring. Proceedings of the 1999 international conference on Software engineering, 1999, Pages 277 - 284.

[RH96] Gregg Rothermel and Mary Jean Harrold. Analyzing Regression Test Selection Techniques. IEEE Transactions on Software Engineering, 22(8):529-551, August 1996.

[Wey98] Weyuker, E.J. Testing Component-Based Software: A Cautionary Tale. IEEE Software. 15(5), p. 54-59, 1998.


[BCH+95] B. Boehm, B. Clark, et al. Cost models for future software life cycle processes: COCOMO 2.0. Annals of Software Engineering, 1: 57-94, 1995.

[FN00] Norman E. Fenton and Martin Neil. Software Metrics: Roadmap. Proceedings of ICSE - Future of Software Engineering Track. p. 357-370, 2000.

Process & Workflow

[Bro87] Frederick P. Brooks. No Silver Bullet: Essence and Accident in Software Engineering. IEEE Computer 20(4):10-19, April 1987.

[Ost87] Leon J. Osterweil. Software Processes Are Software Too. In Proceedings of the 9th International Conference on Software Engineering, pp. 2-13, Monterey, CA, March 1987.

[Bec99] Beck, K. Embracing Change with Extreme Programming. IEEE Computer. 32(10), p. 70-77, 1999.

[Boe88] B.W. Boehm. A Spiral Model of Software Development and Enhancement. IEEE Computer, 21(5):61-72, May 1988.

[CW98] Cook, J.E. and Wolf, A.L. Discovering Process Models of Software Processes from Event-Based Data. ACM Transactions on Software Engineering and Methodology. 7(3), p. 215-249, 1998.

[Sca02] Walt Scacchi. Process Models in Software Engineering, in J. Marciniak (ed.), Encyclopedia of Software Engineering, 2nd. Edition, Wiley, 993-1005, 2002

[Nut96] G. Nutt. The Evolution Towards Flexible Workflow Systems. Distributed Systems Engineering 3(4):276-294, December 1996.

[Eng90] Y. Engeström. When is a Tool? Multiple Meanings of Artifacts in Human Activity. Chapter 8 of Learning, Working and Imagining, Painettu Kirjapaino Oma Kyssä, Jyväskylässä, 1990, pp. 171-195.

Open Source

[Ray98] Raymond, E. S. The cathedral and the bazaar [Linux operating system]. First Monday, 3(3), 1998.

[Sca07] Scacchi, W. 2007. Free/open source software development. In Proceedings of the 6th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC-FSE '07), Dubrovnik, Croatia, September 03 - 07, 2007. ACM, New York, NY, 459-468. DOI=

Configuration Management

[HMR+01] A. van der Hoek, M. Mikic-Rakic, R. Roshandel, and N. Medvidovic. Taming Architectural Evolution. In Proceedings of the Sixth European Software Engineering Conference (ESEC) and the Ninth ACM SIGSOFT Symposium on the Foundations of Software Engineering (FSE-9). p. 1-10, Vienna, Austria, September 10-14, 2001.

[ELC+05] Estublier, Jacky, David B. Leblang, Geoffrey Clemm, Reidar Conradi, André van der Hoek, Walter Tichy, and Darcy Wiborg-Weber. 2005. Impact of the Research Community on the Field of Software Configuration Management. ACM Transactions on Software Engineering Methodology (TOSEM) 14 (4):383-430.


[TM81] W. Teitelman and L. Manister. The Interlisp Programming Environment. IEEE Computer, 14(4):25-33, April 1981.

[RHR98] Robbins, J., Hilbert, D., Redmiles, D. Extending Design Environments to Software Architecture Design, Automated Software Engineering, Vol. 5, No. 3, July 1998, pp. 261-290.

[TN92] Thomas and Nejmeh. Definitions of tool integration for environments. IEEE Software, 9(2):29-35, March 1992.

[Kad92] R. Kadia. Issues Encountered in Building a Flexible Software Development Environment: Lessons Learned from the Arcadia Project. Proceedings of ACM SIGSOFT '92: Fifth Symposium on Software Development Environments, pp. 169-180, Washington, DC, December 1992.

Requirements and Safety

[LT93] Leveson, N. G. and C. S. Turner. An investigation of the Therac-25 accidents. Computer, 26(7): 18-41, 1993.

[Hei07] Heimdahl, Mats P. E. 2007. Safety and Software Intensive Systems: Challenges Old and New. In Future of Software Engineering 2007, edited by L. Briand and A. Wolf: IEEE-CS Press, pp. 137-152.

[CA07] Cheng, B. , and J. Atlee. 2007. Research Directions in Requirements Engineering. In Future of Software Engineering 2007, edited by L. Briand and A. Wolf: IEEE-CS Press.

[Nus01] Bashar Nuseibeh, "Weaving Together Requirements and Architectures," Computer, vol. 34, no. 3, pp. 115-117, Mar., 2001

N.B. There is a book on Requirements listed under the book category at the end of this list.

Evaluation / Assessment

[BSH86] V.R. Basili, R.W. Selby, and D.H. Hutchens. Experimentation in Software Engineering. IEEE Transactions on Software Engineering, SE-12(7):733-743, July 1986.

[McG94] J. McGrath. Methodology Matters: Doing Research in the Behavioral and Social Sciences. In R. Baecker et al., Readings in human-computer interaction: toward the year 2000, Morgan Kaufmann, 1995, pp. 152-169.

[ESSD07] Steve Easterbrook, Janice Singer, Margaret-Anne Storey, and Daniela Damian, (2007). "Selecting Empirical Methods for Software Engineering Research," in Guide to Advanced Empirical Software Engineering, edited by Forrest Shull, Janice Singer, and Dag I.K. Sjøberg.

[SEH03] Susan Elliott Sim, Steve Easterbrook, and Richard C. Holt. Using Benchmarking to Advance Research: A Challenge to Software Engineering, Proceedings of the Twenty-fifth International Conference on Software Engineering, Portland, Oregon, pp. 74-83, 3-10 May, 2003.


[Nie93] J. Nielsen. What is Usability. In J. Nielsen, Usability Engineering, Morgan Kaufmann, 1993, Ch. 2, pp. 23-48.

[HR00] Hilbert, D. M. and Redmiles, D. F. 2000. Extracting usability information from user interface events. ACM Comput. Surv. 32, 4 (Dec. 2000), 384-421. DOI=


[MC94] Malone, T. W. and K. Crowston (1994). The interdisciplinary study of coordination. ACM Computing Surveys, 26(1): 87-119.

[SNvdH03] Sarma, Anita, Zahra Noroozi, and André van der Hoek. 2003. Palantír: Raising Awareness among Configuration Management Workspaces. In Proceedings of the Twenty-Fifth International Conference on Software Engineering (ICSE 2003), May, (Portland, Oregon), pp. 444–453.


[ZWDZ04] Zimmerman, Thomas, Peter Weisgerber, Stephan Diehl, and Andreas Zeller. 2004. Mining Version Histories to Guide Software Changes. In Proceeedings of the 26th International Conference on Software Engineering, May 23-28, (Edinburgh, Scotland, UK), pp. 563-572.

Design (Design Rationale, Reuse)

[Wir71] N. Wirth. Program Development by Stepwise Refinement. Communications of the ACM, 14(4):221-227, April 1971.

[CKI88] B. Curtis, H. Krasner and N. Iscoe. A Field Study of the Software Design Process for Large Systems. Communications of the ACM, 31(11):1268-1287, November 1988.

[JLS92] A. Jarczyk, P. Loeffler and I.F. Shipman. Design Rationale for Software Engineering: A Survey. Proceedings of the 25th Annual IEEE Computer Society Hawaii Conference on System Sciences, pp. 577-586, January 1992.

[PC86] D. L. Parnas and P. C. Clements. A Rational Design Process: How and Why to Fake It. IEEE Transactions on Software Engineering, SE-12(2):251-257, February 1986.

[TvdH07] Taylor, Richard, and André van der Hoek. 2007. Software Design and Architecture: The Once and Future Focus of Software Engineering. In Future of Software Engineering 2007, edited by L. Briand and A. Wolf: IEEE-CS Press, pp. 226-243.


[MT00] N. Medvidovic, R. Taylor. A Classification and Comparison Framework for Software Architecture Description Languages. IEEE Transactions on Software Engineering, Vol. 26, No. 1, pp. 70-93 (January 2000).

[GAO95] David Garlan, Robert Allen, and John Ockerbloom. Architectural Mismatch: Why Reuse Is So Hard. IEEE Software 12(6): 17-26, November 1995.

[PW92] Dewayne E. Perry and Alexander L. Wolf. Foundations for the Study of Software Architecture. ACM Software Engineering Notes 17(4):40-52, October 1992.

[TMA+96] Richard N. Taylor, Nenad Medvidovic, Kenneth M. Anderson, E. James Whitehead, Jr., Jason E. Robbins, Kari A. Nies, Peyman Oreizy, and Deborah L. Dubrow. A Component- and Message-Based Architectural Style for GUI Software. IEEE Transactions on Software Engineering 22(6):390-406, June 1996.

[CRW01] Carzaniga, A., Rosenblum, D. S., and Wolf, A. L. 2001. Design and evaluation of a wide-area event notification service. ACM Trans. Comput. Syst. 19, 3 (Aug. 2001), 332-383. DOI=

Hypertext and The Web

[HS94] Halasz, F. and M. Schwartz. "The Dexter Hypertext Reference Model." Communications of the ACM 37(2): 30-9 (1994).

[B-LC+94] T. Berners-Lee, R. Cailliau, A. Luotonen, H. F. Nielsen, and A. Secret. The World-Wide Web. Communications of the ACM, 37(8): 76-82, August 1994.

[FT00] R. Fielding and R.N. Taylor. Principled Design of the Modern Web Architecture. Proceedings of the 2000 International Conference on Software Engineering (ICSE 2000). p. 407-416, Limerick, Ireland, 2000.

[EGST07] Erenkrantz, Justin R. , Michael Gorlick, Girish Suryanarayana, and Richard N. Taylor. 2007. From Representations to Computations: The Evolution of Web Architectures. In Proceedings of the 6th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Int'l Symposium on the Foundations of Software Engineering (ESEC/FSE), September, (Dubrovnik, Croatia).


[van Vliet, Hans. 2000. Software Engineering: Principles and Practice. Second ed, John Wiley & Sons, LTD.]

[Bro95] F.P. Brooks. The Mythical Man-Month, Anniversary Edition, 2nd Edition. Addison-Wesley, Reading, MA, 1995.

[Jac95] Jackson, M. Software Requirements & Specifications: A Lexicon of Practice, Principles and Prejudices. p. 228+xvi, ACM Press/Addison-Wesley. 1995.

Software Research Group
Department of Informatics
Donald Bren School of Information and Computer Sciences
University of California, Irvine
Irvine, CA 92697-3425

Questions about this web page should be directed to Debra A. Brodbeck.