Software Phase II Written Exam -- Spring Quarter 1997

David Redmiles (redmiles@ics.uci.edu)


This page is intended as a resource for planning for the Spring Quarter and future Phase II Written Exams for students affiliated with advisors in SW and potentially for some students with advisors in CORPS.

Everything on this and connecting pages is open for discussion and revision by the faculty.

Currently, there is a proposal that the test will include required questions and optional questions. Two areas for optional questions are currently identified: "Software Area Option List" and "HCI Area Option List".


Papers by Area

About 12 more papers may be added.

1/20/97

Foudations: Dij68, Hoa69, Wir71, DK76, Par93, Bro95, GJM91

Requirements/Specifications: Hen80, Win90

Software area option list: Mey85, Kem90

Design: Par79, PC86, FGNR92

Software area option list: SO92

Transformational Approach: (category deleted)

Software Validation: GHM87, YT89, AG93

Programming Languages: (none)

Software Reliability and Safety: Goe85, Lev86

Environments: PS83, TM81, Kad92, Rei90

Software area option list: TN92

Hypermedia: HS94

Software area option list: JLS92

Measurement Evaluation, and Feedback: Cur80, SPSB91, Gou88

Software area option list: BSH86

HCI area option list: NC85, McG94, MN94, Hil93, GK91, ST91

Software Process: Ost87, Boe88, PCCW93

Software area option list: BFG93 (others TBA)

Reuse: Kru92, BS92 (BO94 possibly replaced by substitution. Dick to check)

Human Factors and User Interfaces: KP88, Mye93

HCI area option list: Mae94, Cyp91

CSCW: Gru94, CKI88

HCI area option list: Orl92, SK91, AP96, HS92

Interoperability: Pur94, MHO96


Bibliography (Both Required and Optional)

[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.

[AG93] Joanne M. Atlee and John Gannon. State-based model checking of event-driven system requirements. IEEE Transactions on Software Engineering, 19(1):24-40, January 1993.

[AP96] M. Ackerman and L. Palen, The Zephyr Help Instance: Promoting Ongoing Activity in a CSCW System, Human Factors in Computing Systems, CHIÕ96 Conference Proceedings (Vancouver, BC), ACM, 1996, pp. 268-275.

[BFG93] Sergio Bandinelli, Alfonse Fugetta, and Carlo Ghezzi. Software process model evolution in the SPADE environment. IEEE Transactions on Software Engineering, 19(12):1128-1144, December 1993.

[BO92] Don Batory and Sean O'Malley. The design and implementation of hierarchical software systems with reusable components. ACM Transactions on Software Engineering and Methodology, 1(4):355-398, October 1992.

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

[Bro87] Frederick P. Brooks. No silver bullet: Essence and accidents of software engineering. IEEE Computer, 20(4):10-19, April 1987.

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

[BS92] Barry W. Boehm and William L. Scherlis. Megaprogramming. In Proceedings of the Software Technology Conference 1992, pages 63-82, Los Angeles, April 1992. DARPA.

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

[CKI88] Curtis, Krasner, and Iscoe. A field study of the software design process for large systems. Communications of the ACM, 31(11):1268-1287, November 1988.

[Cur80] Bill Curtis. Measurement and experimentation in software engineering. Proceedings of the IEEE, 68(9):1144-1157, September 1980. Also in [?].

[Cyp91] Cypher, A. (1991). Eager: Programming Repetitive Tasks by Example. Proc. CHI '91, ACM, pp. 33-39. 1991, Association for Computing Machinery, Inc. Reprinted by permission.

[Dij68] E. W. Dijkstra. Go to statement considered harmful. Communications of the ACM, 11(3):147-148, March 1968. Published as a letter to the editor.

[DK76] Frank DeRemer and Hans H. Kron. Programming-in-the-large versus programming-in-the-small. IEEE Transactions on Software Engineering, SE-2(2):80-86, June 1976.

[FGNR92] Gerhard Fischer, Andreas Girgensohn, Kumiyo Nakakoji, and David Redmiles. Supporting software designers with integrated domain-oriented design environments. IEEE Transactions on Software Engineering, 18(6):511-522, June 1992.

[GG75] John B. Goodenough and Susan L. Gerhart. Toward a theory of test data selection. IEEE Transactions on Software Engineering, SE-1(2):156-173, June 1975.

[GHM87] John D. Gannon, Richard G. Hamlet, and Harlan D. Mills. Theory of modules. IEEE Transactions on Software Engineering, SE-13(7):820-829, 1987.

[GJM91] C. Ghezzi, M. Jazayeri and D. Mandrioli, Fundamentals of Software Engineering, Prentice Hall, Inc., Englewood Cliffs, NJ, 1991.

[GK91] J. Greenbaum, M. Kyng (eds.), Design at Work: Cooperative Design of Computer Systems, Lawrence Erlbaum Associates, Hillsdale, NJ, 1991, pp. 1-24.

[Goe85] Amrit L. Goel. Software reliability models: Assumptions, limitations, and applicability. IEEE Transactions on Software Engineering, SE-11(12):1411-1423, 1985.

[Gou88] Gould, J.D, (1988). How to Design Usable Systems (Excerpt). Revision of Chapter 35 of M. Helander (Ed.), Handbook of Human Computer lnteraction, pp. 757-779; 784-789. North-Holland.

[Gru94] Jonathan Grudin. CSCW: History and focus. IEEE Computer, 27(5):19-27, May 1994.

[Hen80] Kathryn L. Heninger. Specifying software requirements for complex systems: New techniques and their application. IEEE Transactions on Software Engineering, SE-6(1):2-13, January 1980.

[Hil93] W.C. Hill, A Wizard of Oz Study of Advice Giving and Following, Human-Computer Interaction, Vol. 8, 1993, pp. 57-81.

[Hoa69] C. A. R. Hoare. An axiomatic basis for computer programming. Communications of the ACM, 12(10):576-583, October 1969.

[Hoa72] C. A. R. Hoare. Notes on data structuring. In O. J. Dahl, E. W. Dijkstra, and C. A. R. Hoare, editors, Structured Programming, pages 83-174. Academic Press, 1972.

[HS92] Hollan. J.. and Stornetta, S. (1992). Beyond Being There. In Proceedings of CHI '92, pp. 119-125. Copyright 1992, Association for Computing Machinery, Inc. Reprinted by permission.

[HS94] F. Halasz and M. Schwartz, The Dexter Hypertext Reference Model, Communications of the ACM, Vol. 37, No. 2, February 1994 1994, pp. 30-39.

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

[Kad92] R. Kadia. Issues encountered in building a flexible software development environment: Lessons learned from the Arcadia project. In Proceedings of ACM SIGSOFT '92: Fifth Symposium on Software Development Environments, pages 169-180, December 1992.

[Kem90] R. A. Kemmerer. Integrating formal methods into the development process. IEEE Software, September 1990.

[KP88] G. E. Krasner and S. T. Pope; "A Cookbook for using the Model-View-Controller User Interface Paradigm in Smalltalk-89"; Journal of Object-Oriented Programming, 1:3, 26-49; 1988.

[Kru92] C. W. Krueger. Software reuse. Computing Surveys, 24(2):131-184, June 1992.

[Lev86] Nancy G. Leveson. Software safety: What, why, and how. ACM Computing Surveys, 18(2):125-163, June 1986.

[Lon79] Ralph L. London. Program verification. In Peter Wegner, editor, Research Directions in Software Technology, pages 302-393. MIT Press, 1979.

[Mae94] Maes, P. Agents that Reduce Work and Information Overload. Communications of the ACM 37(7), pp. 31-40, 146, ACM. 1994, Association for Computing Machinery, Inc., 1994.

[McG94] McGrath, J. (1994). Methodology Matters: Doing Research in the Behavioral and Social Sciences. Original paper.

[Mey85] Bertrand Meyer. On formalism in specifications. IEEE Transactions on Software Engineering, 2:6-26, 1985.

[MN94] Mack, R.L., and Nielsen, J. (1994). Usability Inspection Methods. Executive Summary ofJ. Nielsen and R.L, Mack (Eds.), Usability Inspection Methods, John Wiley & Sons, pp. 1-23.

[Mye93] Myers, B.A. (1993). State of the Art in User Interface Software Tools. In H.R. Hanson and D. Hix (Eds.), Advances in Human-CwnPuter Interaction, Volume 4, Ablex, pp. 110-150.

[NC85] A. Newell and S.K. Card, The Prospects for Psychological Science in Human-Computer Interaction, Human-Computer Interaction, Vol. 1, No. 3, 1985, pp. 209-242.

[Orl92] Orlikowski, W. (1992). Learning from Notes: Organizational Issues in Groupware Implementation. Proc. CSCW '5)2, ACM, pp. 362-369. 1992, Association for Computing Machinery, Inc.

[Ost87] Leon J. Osterweil. Software processes are software too. In Proceedings of the Ninth International Conference on Software Engineering, pages 2-13, Monterey, CA, March 1987.

[Par79] David Lorge Parnas. Designing software for ease of extension and contraction. IEEE Transactions on Software Engineering, SE-5(2):128-138, March 1979.

[Par93] D. L. Parnas. Predicate logic for software engineering. IEEE Transactions on Software Engineering, 19(9):856-862, September 1993.

[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.

[PCCW93] Paulk, Curtis, Chrissis, and Weber. Capability maturity model, version 1.1. IEEE Software, 10(4):18-27, July 1993.

[PS83] H. Partsch and R. Steinbr"uggen. Program transformation systems. ACM Computing Surveys, 15(3):199-236, September 1983.

[Pur94] J. M. Purtillo. The polylith software bus. ACM Transactions on Programming Languages and Systems, 16(1):151-174, January 1994.

[Rei90] Steven P. Reiss. Connecting tools using message passing in the Field environment. IEEE Software, 7(4):57-66, July 1990.

[Ric94] Debra J. Richardson. TAOS: Testing with analysis and oracle support. In Proceedings of the 1994 International Symposium on Software Testing and Analysis (ISSTA), pages 138-153, Seattle, August 1994. ACM Press.

[SK91] Sproull, L., and Kiesler, S. (1991). Computers, Networks and Work. Scientific American, pp. 116-123. Reprinted with permission. 1991 by Scientific American, Inc. All rights reserved.

[Sny93] Alan Snyder. The essence of objects: Concepts and terms. IEEE Software, 10(1):31-42, January 1993.

[SO92] Xiping Song and Leon J. Osterweil. Toward objective, systematic design-method comparisons. IEEE Software, 9(3):43-53, May 1992.

[SPSB91] Richard W. Selby, Adam A. Porter, Doug C. Schmidt, and James Berney. Metric-driven analysis and feedback systems for enabling empirically guided software development. In Proceedings of the Thirteenth International Conference on Software Engineering, Austin, TX, May 1991.

[ST91] Suchman, L., and Trigg. R. (1991). Understanding Practice: Video as a Medium for Reflection and Design. From Design at Work: Cooperative Design of Computer Systems (pp. 65-89), edited by J. Greenbaum and M. Kyng. 1991, Hillsdale, NJ: Lawrence Erlbaum. 1991 by Lawrence Erlbaum Associates. Reprinted by permission.

[TM81] W. Teitelman and L. Manister. The interlisp programming environment. IEEE Computer, 14(4):25-33, April 1981.

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

[Weg92] Peter Wegner. Dimensions of object-oriented modeling. IEEE Computer, 25(10):12-20, October 1992.

[Win90] Jeannette M. Wing. A specifier's introduction to formal methods. IEEE Computer, 23(9):8-24, September 1990.

[Wir71] Niklaus Wirth. Program development by stepwise refinement. Communications of the ACM, 14(4):221-227, April 1971.

[YT89] Michal Young and Richard N. Taylor. Rethinking the taxonomy of fault detection techniques. In Proceedings of the Eleventh International Conference on Software Engineering, pages 53-62, Pittsburgh, May 1989.