Gail C. Murphy, David Notkin, William G. Griswold and Erica S.-C. Lan. An Empirical Study of Static Call Graph Extractors. To appear, ACM Transactions on Software Engineering and Methodology. An earlier version (Murphy, Notkin, Lan) appeared in Proceedings of the 18th International Conference on Software Engineering (March 1996). An even earlier version appeared as Technical Report 95-08-01, Department of Computer Science & Engineering, University of Washington (August 1995).
Gail C. Murphy and David Notkin. Assisting an Experimental Reengineering of Microsoft Excel using Software Reflexion Models. Technical Report 96-07-01, Department of Computer Science & Engineering, University of Washington (July 1996). To appear IEEE Computer (August 1997).
William Chan, Richard. Anderson, Paul Beame, David Notkin, Combining Constraint Solving and Symbolic Model Checking for a Class of Systems with Non-linear Constraints. Proceedings of the 9th International Conference on Computer Aided Verification 97 (June 1997). Springer-Verlag Lecture Notes in Computer Science #1254. Orna Grumberg (Editor).
Kingsum Chow and David Notkin. Semi-Automatic Update of Applications in Response to Library Changes. Proceedings of the International Conference on Software Maintenance ’96, pp. 359-368 (November 1996). An earlier version appeared as Technical Report 96-03-01, Department of Computer Science & Engineering, University of Washington (March 1996).
Michael VanHilst and David Notkin. Using Role Components to Implement Collaboration-Based Designs. OOPSLA-96 (October 1996).
Richard Anderson, Paul Beame, Steve Burns, William Chan, Francesmary Modugno, David Notkin, Jon Reese. Model Checking of Large Software Specifications. In Proceedings of the Fourth ACM SIGSOFT Symposium on the Foundations of Software Engineering (October 1996). Recommended for expedited publication in IEEE Transactions on Software Engineering. An earlier version appears as Technical Report 96-04-02, Department of Computer Science & Engineering, University of Washington (April 1996).
Michael VanHilst and David Notkin. Decoupling Change from Design In Proceedings of the Fourth ACM SIGSOFT Symposium on the Foundations of Software Engineering (October 1996).
Kevin Sullivan, Ira J. Kalet and David Notkin. Mediators in a Radiation Treatment Planning Environment. IEEE Transactions on Software Engineering 22,8, pp. 563--579 (August 1996). Earlier versions appeared as: Technical Report CS-95-29, Department of Computer Science, University of Virginia (June 1995); and as: Prism: A Case Study in Behavioral Entity-Relationship Modeling and Design. Technical Report 93-09-03, Department of Computer Science & Engineering, University of Washington (September 1993).
Gail C. Murphy and David Notkin. On the Use of Static Typing to Support Operations on Frameworks. Object-Oriented Systems 3, 4, pp. 197-213 (April 1996). An earlier version appeared as: The Interaction Between Static Typing and Frameworks. Technical Report 93-09-02, Department of Computer Science & Engineering, University of Washington (September 1993).
Michael VanHilst and David Notkin. Using C++ Templates to Implement Role-Based Designs. In Second JSSST International Symposium on Object Technologies for Advanced Software, K. Futatsugi and S. Matsuoka (editors), pp. 22--37 (March 1996). Springer-Verlag Lecture Notes in Computer Science #1049. An early version as Technical Report 95-07-02, Department of Computer Science & Engineering, University of Washington (July 1995).
Gail C. Murphy and David Notkin. Lightweight Lexical Source Model Extraction. ACM Transactions on Software Engineering and Methodology 5,3, pp. 262-292 (July 1996). An earlier version appears in Proceedings of the ACM SIGSOFT 95 Symposium on the Foundations of Software Engineering, pp. 116--127 (October 1995); ACM SIGSOFT Software Engineering Notes 20,4 (October 1995). An even earlier version appears as Technical Report 95-02-03, Department of Computer Science & Engineering, University of Washington (February 1995).
Gail C. Murphy, David Notkin, and Kevin Sullivan. Software Reflexion Models: Bridging the Gap Between Source and High-Level Models. Proceedings of the ACM SIGSOFT 95 Symposium on the Foundations of Software Engineering, pp. 18--28 (October 1995). ACM SIGSOFT Software Engineering Notes 20,4 (October 1995). Earlier version appeared as Technical Report 95-03-02, Department of Computer Science & Engineering, University of Washington (March 1995), and Technical Report 94-09-03, Department of Computer Science & Engineering, University of Washington (September 1994).
William G. Griswold and David Notkin. Architectural Tradeoffs for a Meaning-Preserving Program Restructuring Tool. IEEE Transactions on Software Engineering 21,4, pp. 275—287 (April 1995).
Gail A. Alverson and David Notkin. Program Structuring for Effective Parallel Portability. IEEE Transactions on Parallel and Distributed Systems 4,9, pp. 1041--1059 (September 1993). An earlier version appeared as: Abstractions for Effectively Portable Shared Memory Parallel Programs. Technical Report 90-10-06, Department of Computer Science & Engineering, University of Washington (September 1990).
Franz G. Amador, Deborah Berman, Alan Borning, Tony DeRose, Adam Finkelstein, Dorothy Neville, Norge, David Notkin, David Salesin, Mike Salisbury, Joe Sherman, Ying Sun, Daniel S. Weld, and Georges Winkenbach. Electronic How Things Work Articles: Two Early Prototypes. IEEE Transactions on Data and Knowledge Engineering 5,4, pp. 600--610 (August 1993). An earlier version appeared as Technical Report 92-04-08, Department of Computer Science & Engineering, University of Washington (June 1992).
William G. Griswold and David Notkin. Automated Assistance for Program Restructuring. ACM Transactions on Software Engineering and Methodology 2,3 pp. 228--269 (July 1993). An earlier version appears as Program Restructuring to Aid Software Maintenance, Technical Report 90-08-05, Department of Computer Science & Engineering, University of Washington (September 1990, Revised December 1990). A revised version appears as: Automated Assistance for Program Restructuring. Technical Report CS92-221, Department of Computer Science, University of California, San Diego (January 1992).
David Notkin and Richard D. Schlichting. Computer Science in Japanese Universities. IEEE Computer 26,5, pp. 62--70 (May 1993). An earlier version appears as Technical Report 92-04-02, Department of Computer Science & Engineering, University of Washington (April 1992), and also as Technical Report 92-13, Department of Computer Science, The University of Arizona (April 1992). A synopsis appears as “Western Scientists Know Little about Japan CS” in Computing Research News 4,5, pp. 6--7 (November 1992).
Bruce Oberg and David Notkin. Error Reporting with Graduated Color. IEEE Software 9,6, pp. 33--38 (November 1992).
David Garlan, Gail E. Kaiser, and David Notkin. Using Tool Abstraction to Compose Systems. IEEE Computer 25,6, pp. 30--38 (June 1992). Early versions appeared as; On the Criteria to be Used in Composing Tools into Systems. Technical Report CUCS-034-90, Department of Computer Science, Columbia University (July 1990); and Technical Report 88-08-09, Department of Computer Science, University of Washington (August 1988).
Kevin Sullivan and David Notkin. Reconciling Environment Integration and Component Independence. ACM Transactions on Software Engineering and Methodology 1,3, pp. 229--268 (July 1992). An earlier version appeared in Proceedings of ACM SIGSOFT '90: Fourth Symposium on Software Development Environments, pp. 22--33 (December 1990), which appeared as ACM SIGSOFT Software Engineering Notes 15,6 (December 1990). An expanded version appeared as Technical Report 91-08-08, Department of Computer Science & Engineering, University of Washington (August 1991).
David Garlan and David Notkin. Formalizing Design Spaces: Implicit Invocation Mechanisms. VDM '91: Formal Software Development Methods, pp. 31--44 (October 1991). Appears as Springer-Verlag Lecture Notes in Computer Science 551. An earlier version appears as Carnegie Mellon University, School of Computer Science, Technical Report CMU-CS-91-114 (March 1991).
Gail A. Alverson and David Notkin. Abstracting Data-Representation and Partitioning-Scheduling. Proceedings of the International Symposium on Shared Memory Multiprocessing, Information Processing Society of Japan, pp. 138--151 (April 1991). A version appears in Shared Memory Multiprocessing, N. Suzuki (ed.), MIT Press (1992), p. 315--338. An early version appears as Technical Report 90-10-07, Department of Computer Science & Engineering, University of Washington (October 1990).
Gail Alverson, William G. Griswold, David Notkin, and Lawrence Snyder. A Flexible Communication Abstraction for Nonshared Memory Parallel Computing. Proceedings of Supercomputing '90, pp. 584--593 (November 1990). A poster version appeared as: How Port Ensembles Aid the Efficient Retargeting of Reduction Algorithms, Proceedings of the 1990 International Conference on Parallel Processing (August 1990). An early version appears as: Port Ensembles: A Communication Abstraction for Nonshared Memory Parallel Programming. Technical Report 90-01-11, Department of Computer Science, University of Washington (January 1990).
C. Brian Pinkerton, Edward D. Lazowska, David Notkin, and John Zahorjan. A Heterogeneous Distributed File System. Proceedings of the 10th International Conference on Distributed Computing Systems (June 1990). An earlier version appears as Technical Report 88-08-08, Department of Computer Science, University of Washington (August 1988, revised October 1989).
David Notkin. Proxies: A Software Structure for Accommodating Heterogeneity. Software--Practice & Experience 20,4, pp. 357--364 (April 1990). An earlier version appears as Technical Report 88-09-03, Department of Computer Science, University of Washington (September 1988).
William G. Griswold, Gail A. Harrison, David Notkin, and Larry Snyder. Scalable Abstractions for Parallel Programming. Proceedings of the Fifth Distributed Memory Computing Conference (April 1990). An early version appears as Technical Report 89-09-14, Department of Computer Science & Engineering, University of Washington, 1989.
Mark Squillante and David Notkin. Integrating Heterogeneous Local Mail Systems. IEEE Software, pp. 59--67 (November 1989). An earlier version appears as “A Mail System for a Heterogeneous, Local Environment,” Technical Report 87-12-01. Department of Computer Science, University of Washington (December 1987).
Sung K. Chung, Edward D. Lazowska, David Notkin, and John Zahorjan. Performance Implications of Design Alternatives for Remote Procedure Call Stubs. Proceedings of the 9th International Conference on Distributed Computing Systems, pp. 36--41. IEEE Computer Society (June 1989).
Mary Bailey, David Socha, and David Notkin. Debugging Parallel Programs using Graphical Views. Proceedings of the 1988 International Conference on Parallel Processing, pp. 46—49 (August 1988).
David Socha, Mary Bailey, and David Notkin. Voyeur: Graphical Views of Parallel Programs. Proceedings of the ACM SIGPLAN/SIGOPS Workshop on Parallel and Distributed Debugging, pp. 206--215 (May 1988). Appears as ACMSIGPLAN Notices 24,1 (January 1989).
David Notkin, Lawrence Snyder, David Socha, Mary L. Bailey, Bruce Forstall, Kevin Gates, Ray Greenlaw, William G. Griswold, Thomas J. Holman, Richard Korry, Gemini Lasswell, Robert Mitchell, and Philip A. Nelson. Experiences with Poker. Proceedings of the ACM SIGPLAN Symposium on Parallel Programming: Experience with Applications, Languages, and Systems, pp. 10--20 (July 1988).
David Notkin and William G. Griswold. Extension and Software Development. Proceedings of the 10th International Conference on Software Engineering, pp. 274--283 (April 1988). An earlier version appears as Technical Report 87-10-06. Department of Computer Science, University of Washington (October 1987).
David Notkin, Andrew P. Black, Edward D. Lazowska, Henry M. Levy, Jan Sanislo, and John Zahorjan. Interconnecting Heterogeneous Computer Systems. Communications of the ACM 31,3, pp. 258--273 (March 1988). An earlier version appears as Black et al., Technical Report 87-01-02, Department of Computer Science, University of Washington (January 1987). A translation into Japanese appears as Notkin et al., bit 21,13, pp. 1715--1725 (November 1989) and bit 21,14, pp. 1928—1940 (December 1989).
Vincenzo Ambriola and David Notkin. Reasoning about Interactive Systems. IEEE Transactions on Software Engineering 14,2, pp. 272--276 (February 1988). An earlier version appears as Technical Report 85-08-02, Department of Computer Science, University of Washington (August 1985).
Michael Schwartz, John Zahorjan, and David Notkin. A Name Service for Evolving Heterogeneous Systems. Proceedings of the 11th Symposium on Operating System Principles, pp. 52—62 (November 1987). An earlier version appears as Technical Report 87-02-05, Department of Computer Science, University of Washington (February 1987).
David Notkin and William G. Griswold. Enhancement through Extension: The Extension Interpreter. Proceedings of the ACM SIGPLAN '87 Symposium on Interpreters and Interpretive Techniques, pp. 45--55 (June 1987).
A. N. Habermann and David Notkin. Gandalf Software Development Environments. IEEE Transactions on Software Engineering 12,12, pp. 1117--1127 (December 1986). An earlier version of the paper appears in Proceedings of the Second International Symposium on Computation and Information, Monterrey, Mexico (September 1983) and also in Second Compendium of Gandalf Documentation.
David Notkin. Sharing and Modularization in Structure Editing Environments. Proceedings of the 19th Hawaii International Conference on Systems Sciences, pp. 567--575, Software Track, Volume IIA (January 1986).
David Notkin. Flexible Programs. Proceedings of the Third International Workshop on Software Specification and Design. IEEE Computer Society Press (August 1985).
David Notkin. The Gandalf Project. Journal of Systems and Software 5,2, pp. 91--106 (May 1985).
David Notkin. An Experience with Parallelism in Ada. Proceedings of the ACM SIGPLAN Symposium on the Ada Programming Language. In ACM SIGPLAN Notices 15,11, pp. 9--15 (November 1980).
Proceedings, Book Chapters, etc.
A. Nico Habermann, David Garlan, and David Notkin. Generation of Integrated Task-Specific Software Environments. In CMU Computer Science, A 25th Anniversary Commemorative, R.F. Rashid (editor). ACM Press (1991).
Invited Publications
David Garlan, J. Frits Habermann, and David Notkin. Nico Habermann's Research: A Brief Retrospective. In Proceedings of the 16th International Conference on Software Engineering (May 1994).
David Notkin, David Garlan, William G. Griswold, and Kevin Sullivan. Adding Implicit Invocation to Languages: Three Approaches. In Proceedings of the JSSST International Symposium on Object Technologies for Advanced Software, S. Nishio and A. Yonezawa (editors), pp. 489--510 (November 1993). Springer-Verlag Lecture Notes in Computer Science #742 (November 1993).
David Notkin. Software Evolution. Toshiba Endowed Chair Lecture Series, Advanced Information Processing, Volume 2. Tokyo Institute of Technology (1990).
Mark Weiser, David Notkin, Mark Green, Bertrand Meyer, Glenn Pearson, David Stotts, Tony Wasserman, and Alexander Wolf. Landscaping for Programming Environments. In Requirements for a Software Engineering Environment: Proceedings of the University of Maryland Workshop. Marvin V. Zelkowitz, editor. Ablex Publishing (1989). An earlier version appears as UMIACS-TR-86-22/CS-TR-1733 (December 1986).
David Notkin. The Relationship Between Software Development Environments and the Software Process: Panel Session Introduction. Proceedings of ACM SIGSOFT88: Third Symposium on Software Development Environments, pp. 107-109, Boston MA (December 1988). Appears as ACM SIGPLAN Notices 24,2 (February 1989) and ACM Software Engineering Notes 13,5 (November 1988).
Peter Henderson and David Notkin. Integrated Program and Design Environments: Guest Editors' Introduction. IEEE Computer 20,11, pp. 12-16 (November 1987). Companion issue with IEEE Software 4,6 (November 1987).
John Zahorjan, Edward D. Lazowska, Henry M. Levy, David Notkin, and Jan Sanislo. Accommodating Heterogeneity. Proceedings of the Workshop on Experiences with Distributed Systems, J. Nehmer (editor). Springer-Verlag Lecture Notes in Computer Science #309 (September 1987).
David Notkin, Norman Hutchinson, Jan Sanislo, and Michael Schwartz. Heterogeneous Computing Environments: Report on the ACM SIGOPS Workshop on Accommodating Heterogeneity. Communications of the ACM 30,2, pp. 132-140 (February 1987). An earlier version appears as Operating Systems Review 20,2, pp. 9-24 (April 1986) and as Technical Report 86-02-01, Department of Computer Science, University of Washington (February 1986). To be reprinted in Distributed Processing: Concepts and Structures, A.L. Ananda and B. Srinivasan, editors, IEEE Computer Society Press.
David Notkin (editor). Annotated Bibliography of Gandalf Literature. Journal of Systems and Software 5,2, pp. 173-176 (May 1985).
David Notkin. Structure-Oriented User Environments. Proceedings of the Associated Simula Users' Workshop on Program Development Tools. Lund, Sweden (February 1983).
David Notkin and A. N. Habermann. Software Development Environment Issues as Related to Ada. Proceedings of the Ada Environment Workshop, pp. 42-72 (November 1979). Reprinted in Tutorial: Software Development Environments. Anthony Wasserman, editor. IEEE Computer Society Press (1981). Also reprinted in Language Architectures and Programming Environments. T. Ichikawa and H. Tsubotani, editors. World Scientific (1992). An earlier version appears in A Compendium of Gandalf Documentation.
Miscellaneous
Michael Ernst, ,Greg Badros and David Notkin. An Empirical Analysis of C Preprocessor Use. Technical Report 97-04-06, Department of Computer Science & Engineering, University of Washington (April 1997).
Jurgen Dingel, Somesh Jha, David Garlan and David Notkin. Towards a Formal Treatment of Implicit Invocation (January 1997).
Gail C. Murphy and David Notkin. Difficulties with Object-Oriented Frameworks. In Studies of Software Design ICSE '93 Workshop, Selected Papers. D. Lamb, Editor. Springer-Verlag, 1996. pp. 77-87.
Gail Alverson, William G. Griswold, Calvin Lin, David Notkin and Lawrence Snyder. Abstractions for Portable, Scalable Parallel Programming. Technical Report 93-12-09, Department of Computer Science & Engineering, University of Washington (December 1993). Submitted to IEEE Transactions on Parallel and Distributed Systems.
Kevin J. Sullivan and David Notkin. Behavioral Abstraction. Technical Report 92-03-08, Department of Computer Science & Engineering, University of Washington (March 1992).
William G. Griswold and David Notkin. Computer-Aided vs.Manual Program Restructuring. ACM SIGSOFT Software Engineering Notes 17,1 (January 1992). An earlier version appears as Technical Report 91-08-02, Department of Computer Science & Engineering, University of Washington (August 1991).
Kevin J. Sullivan and David Notkin. Behavioral Relationships in Object-Oriented Analysis. Technical Report 91-09-03, Department of Computer Science & Engineering, University of Washington (August 1991).
William G. Griswold and David Notkin. Semantic Manipulation of Program Source. Technical Report 91-08-03, Department of Computer Science & Engineering, University of Washington (August 1991).
Sung K. Chung, Kimiko Gosney, Edward D. Lazowska, and David Notkin. Multi-Language Support for Heterogeneous Remote Procedure Call. Technical Report 89-10-09, Department of Computer Science & Engineering, University of Washington (October 1989).
Gail A. Harrison and David Notkin. Effective Portability. Technical Report 89-09-08, Department of Computer Science & Engineering, University of Washington (September 1989).
Gail A. Harrison and David Notkin. Benchmarking File Differencing Algorithms. Technical Report 88-06-03, Department of Computer Science, University of Washington (May 1988).
David Notkin, William G. Griswold, and Marc D. Donner. Enhancement through Extension: Analysis and Experiments. Technical Report 87-03-03, Department of Computer Science, University of Washington (March 1987).
David Notkin. A Dual-Purpose Module Interconnection Language. Technical Report 85-10-06, Department of Computer Science, University of Washington (October 1985).
Andrew Black, Edward Lazowska, Henry Levy, David Notkin, Jan Sanislo, and John Zahorjan. An Approach to Accommodating Heterogeneity. Technical Report 85-10-04, Department of Computer Science, University of Washington (October 1985).
David Notkin. Interactive Structure-Oriented Computing. Ph.D. Thesis. Technical Report CMU-CS-84-103, Department of Computer Science, Carnegie-Mellon University (February 1984).
David Notkin, Nico Habermann, Robert Ellison, Gail Kaiser, and David Garlan. Response to “Program Editors Should Not Abandon Test Oriented Commands” (R. Waters). Letter to the Editor. ACM SIGPLAN Notices 18,4, pp. 7--12 (April 1983).
A. N. Habermann, Robert Ellison, Raul Medina-Mora, Peter Feiler, David Notkin, Gail Kaiser, David Garlan, and Steven Popovich. Second Compendium of Gandalf Documentation. Technical Report, Department of Computer Science, Carnegie-Mellon University (May 1982).
Gail E. Kaiser, Robert J. Ellison, David B. Garlan, David Notkin, and Steven Popovich. Gandalf Environment Users' Manual and Tutorial. Second Compendium of Gandalf Documentation (May 1982).
David Notkin and Gail E. Kaiser. The Implementation of the Gandalf Software Development Environment. Second Compendium of Gandalf Documentation (May 1982).
Raul Medina-Mora and David Notkin. Aloe Users' and Implementors' Guide. Technical Report CMU-CS-81-145, Department of Computer Science, Carnegie-Mellon University (November 1981). A later version appears as: Raul Medina-Mora, Robert J. Ellison, David B. Garlan, Gail E. Kaiser, and David Notkin. ALOE Users' and Implementors' Guide (Interim Edition). Second Compendium of Gandalf Documentation (November 1983).
A. N. Habermann, Dewayne Perry, Peter Feiler, Raul Medina-Mora, David Notkin, Gail Kaiser, and Steven Popovich. A Compendium of Gandalf Documentation. Technical Report, Department of Computer Science, Carnegie-Mellon University (April 1981).
David Notkin and Barbara A. Denny. SDC User Manual (Version 2). A Compendium of Gandalf Documentation. Technical Report, Department of Computer Science, Carnegie-Mellon University (March 1981).
Mary Shaw, Anita Jones, Paul Knueven, John McDermott, Philip Miller, and David Notkin. Cheating Policy in a Computer Science Department. ACM SIGCSE Bulletin 12,2, pp. 72--76 (July 1980).
A. N. Habermann, David Notkin, and Dewayne E. Perry. Report on the Use of Ada for the Design and Implementation of Part of Gandalf. Technical Report CMU-CS-80-103, Department of Computer Science, Carnegie-Mellon University (June 1979).
Steven Feiner, Read Fleming, David Notkin, and Andries van Dam. The Grader Missive. Brown University (July 1978).
David Notkin. The Undergraduate Teaching Assistant in the Computer Science Program at Brown University. Brown University Honor's Thesis (May 1977).
Jens Dill, Douglas Dixon, Robert Hopson, and David Notkin. CS100 Design and Documentation Standards. Technical Report #26, Program in Computer Science, Brown University (January 1977).
Andries van Dam, Jens M. Dill, Douglas F. Dixon, and David Notkin. Structured Programming in Assembly Language. ACM SIGCSE Bulletin 8,4, pp. 53--67 (Delayed Issue, December 1976).
Andries van Dam and David Notkin. User's Guide to SP4TRAN. Brown University Computing Center Report (October 1976)