 |  |  |  | David M. Weiss Director, Software Technology Research
 "Everything should be as simple as possible, but not simpler. -- A. Einstein" |
| MY RESEARCH | Central questions for software engineers are how to create software designs that are performance-efficient, that can easily evolve over time, and that enable rapid production of products and services. Working in an industrial research laboratory puts me in the position of interacting directly with working software engineers, gaining insight into how software developers cope with these questions and inspiration for finding answers to them. My interests include families, design for change, measurement, precise specification, and technology transfer. In the last few years my technical work has evolved into the invention of processes that incorporate ideas from all of these areas. The result has been a software production process based on family-oriented abstraction, specification, and translation, known as FAST. Such processes are now known as software product-line engineering processes. FAST tries to be a systematic way of guiding software developers to create the tools they need to generate members of a software product line. |
| PROJECTS | Many of my projects have been collaborations with other researchers and developers on the application of FAST in different domains. My involvement varies from actively participating in the domain analysis to providing occasional guidance on how to apply the FAST process. The Software Product-Line Engineering Book My colleague Robert Chi Tau Lai and I have written the first book on Software Product-Line Engineering, published by Addison Wesley, which describes FAST using both prose and a state-based process modeling approach that uses process and artifact state transition abstractions, known as PASTA. |
| SOME INFLUENCES ON DAVE WEISS'S THINKING | Papers and Books Alexander, Christopher, Notes On The Synthesis Of Form Alspaugh, T., Faulk, S., Britton, K., Parker, R., Parnas, D., Shore, J.; Software Requirements for the A-7E Aircraft, Naval Research Laboratory, Washington, D.C. Basili, V. and Weiss, D.; A Methodology for Collecting Valid Software Engineering Data, IEEE Transactions on Software Engineering, SE-10, No. 6, November, 1984 Bell, C., Newell, A., Computer Structures: Readings and Examples, McGraw-Hill, New York, 1971 Boehm, Barry, Software Engineering Economics, Prentice Hall, Englewood Cliffs, 1981 Britton, K., Parnas, D.; A-7E Software Module Guide, NRL Memorandum Report 4702, December 1981, Naval Research Laboratory, Washington, D.C. Britton, K.H., Parker, R.A., Parnas, D.L.; A Procedure For Designing Abstract Interfaces for Device Interface Modules, Proc. 5th Int. Conf. Software Eng., 1981 Brooks, F. P., Jr., The Mythical Man-Month: Essays on Software Engineering, Addison-Wesley, New York, 1975 Burks, A., Goldstine, H., von Neumann, J., Preliminary discussion of the logical design of an electronic computing instrument Campbell, Grady H. Jr., Faulk, Stuart R., Weiss, David M.; Introduction To Synthesis, INTRO_SYNTHESIS_PROCESS-90019-N, 1990, Software Productivity Consortium, Herndon, VA Clements, P.C., R.A. Parker, D.L. Parnas, J.E. Shore, and K.H. Britton; A Standard Organization for Specifying Abstract Interfaces, NRL Report 8815, June 14, 1984 Dahl, Dijkstra, Hoare; Structured Programming, Academic Press, London, 1972 Dijkstra, E. W., Go to statement considered harmful, CACM, vol. 11, no. 3, March 1968 Dijkstra, E. W., Co-operating Sequential Processes, Programming Languages, ed. F. Genuys, New York: Academic Press, pp. 43-112 Gladwell, Malcolm; The Tipping Point Gould, S. J., Dinosaur in a Haystack, Crown Trade Paperbacks, 1997, ISBN 0-517-88824-6 Heninger, K.L., Specifying Software Requirements for Complex Systems: New Techniques and Their Application, IEEE Transactions on Software Engineering, SE-6, January 1980 Kearns, D., Nadler, D.; Prophets In the Dark, : how Xerox reinvented itself and beat back the Japanese, New York : Harper Business, 1992 Kirby, J. Jr., Lai, R.C.T., Weiss D.M.; A Formalization of a Design Process, Proc. 1990 Pacific Northwest Software Quality Conf., October 1990, pp. 93-114 Knuth, D., Structured Programming With Go To Statements, Computing Surveys, vol. 6, no. 4, Dec 1974 Kuhn, T., The Structure of Scientific Revolutions, The University of Chicago Press, 1996, ISBN 0-226-45808-3 Linger, Mills, Witt; Structured Programming: Theory and Practice, Addison-Wesley, Reading, MA, 1979 Miller, George, The Magical Number Seven, Plus or Minus Two: Some Limits On Our Capacity For Processing Information, The Psychological Review, vol. 63, no. 2, Mar 1956 Miller, William B., All I need to know about manufacturing I learned in Joe's garage : world class manufacturing made simple, Bayrock Press, Walnut Creek, Calif., 1993 Mills, H, Mathematical Foundations for Structured Programming Moranda, P., Software Quality Technology: (Sad) Status Of: (Unapproached) Limits To: (Manifold ) Alternatives To, IEEE Computer, vol. 11, no. 11, Nov 1978 Parker, R.A., Heninger, K.B., Parnas, D.L., Shore, J.E.; Abstract Interface Specifications for the A-7E Device Interface Modules, NRL Memorandum Report 4385, November 1980, Naval Research Laboratory, Washington, D.C Parnas, D.L., On the Criteria to be Used in Decomposing a System into Modules, Comm. ACM, vol. 15, pp 1053-1058, December 1972 Parnas, D.L., On A Buzzword: Hierarchical Structure, Proc. IFIP Congress 1974, Amsterdam, North Holland, 1974 Parnas, D.L., On the Design and Development of Program Families, IEEE Transactions on Software Engineering, SE-2:1-9, March 1976 Parnas, D.L., Designing Software For Ease Of Extension and Contraction, Proc. 3rd Int. Conf. Soft. Eng., May 1978 Parnas, D.L., Clements, P.C.; A Rational Design Process: How and Why to Fake It, IEEE Transactions on Software Engineering, SE-12, No. 2, February 1986 Parnas, D.L., Clements, P.C., Weiss, D.M.; The Modular Structure Of Complex Systems, IEEE Transactions on Software Engineering, SE-11, pp. 259-266, March 1985 Parnas, D.L., Weiss, D.M.; Interface Specifications for the SCR (A-7E) Extended Computer Module, NRL Memorandum Report 5502, December 1984, Naval Research Laboratory, Washington, D.C. Parnas, D.L., Weiss, D.M.; Active Design Reviews: Principles and Practices, Proc. 8th Int. Conf. Soft. Eng., London, August 1985 Parsons, H.M.; What Happened at Hawthorne?, Science, vol. 183, 8 March 1974 Petroski, Henry, To Engineer Is Human, St. Martin's Press, New York, 1985 Phillips, D.; Lincoln On Leadership: executive strategies for tough times, Warner Books, New York, 1992 SDI Technology Survivability And Software, U.S. Congress, Office of Technology Assessment, OTA-ISC-353, U.S. Government Printing Office, Washington, DC., May 1988 Semler, Ricardo; Maverick Weiss, David M.; Synthesis Operational Scenarios, SYNTHESIS_OP_SCENARIOS-90038-MC, 1990, Herndon, VA Weiss, David M., Evaluating Software Development By Analysis Of Change Data, University of Maryland Technical Report TR-1120, November 1981
Quotes Everything should be as simple as possible, but not simpler. -- A. Einstein The art of progress is to preserve order amid change, and to preserve change amid order. -- Alfred North Whitehead Don't multiply hypotheses unnecessarily -- William of Occam My job as an engineer is not to invent new mathematics, but to find new ways to use old mathematics. -- David L. Parnas ... program structure should be such as to anticipate its adaptations and modifications. Our program should not only reflect (by structure) our understanding of it, but it should also be clear from its structure what sort of adaptations can be catered for smoothly. Thank goodness the two requirements go hand in hand. -- Edsger W. Dijkstra Technologists, like scientists, tend to hold on to their theories until incontrovertible evidence, usually in the form of failures, convinces them to accept new paradigms. -- Henry Petroski Legs are the wheels of creativity -- Albert Einstein Obsession provokes passion for painstaking detail -- Mae West, as modified by David Weiss If I have seen farther than others it is because I have stood on the shoulders of giants -- Isaac Newton, circa 1620 Pygmies who stand on the shoulders of giants see farther than the giants -- Bernard of Chartres, circa 1250 The best way to have a good idea is to have lots of ideas. -- Linus Pauling
Career Wanderings 1967-1970: U. S. Naval Research Laboratory 1970-1974: Computer Sciences Corporation 1974-1986: U. S. Naval Research Laboratory 1985-1986: Wang Institute of Graduate Studies 1986-1987: U. S. Congress, Office of Technology Assessment 1987-1992: Software Productivity Consortium 1992-2000 Bell Laboratories 2000-present Avaya Laboratories
|
| PUBLICATIONS | Books Hoffman, D. and Weiss, D. (eds), Software Fundamentals: Collected Papers of David L. Parnas, Addison Wesley Longman, April, 2001 Weiss, D. and Lai, C.T.R., Software Product Line Engineering, Addison Wesley, Reading, MA, 1999
Refereed Journals and Conferences Yang, Q., Li, J. J., Weiss, D. M.; A Survey of Coverage-Based Testing Tools, The Computer Journal, 2007; doi: 10.1093/comjnl/bxm021 Li, J. J., Weiss, D. M., Yee, H.; Code-Coverage Guided Prioritized Test Generation, Information and Software Technology Journal, 48(12), December 2006
Maranzano, J., Rozsypal, S., Warnken, G., Weiss, D., Wirth, P., Zimmerman, A.; Architecture Reviews: Practice and Experience, IEEE Software, March/April 2005 Geppert, B., Weiss, D.; Goal-Oriented Assessment of Product-Line Domains, Metrics 2003 Mockus, A., Zhang, P., Weiss, D.; Understanding and Predicting Effort in Software Projects. International Conference on Software Engineering, May 2003 Weiss, D., Bennett, D., Payseur, J., Zhang, P., Tendick, P.; Goal-Oriented Software Assessment, International Conference on Software Engineering, May 2002 Mockus, A., Weiss, D.; Globalization By Chunking: A Quantitative Approach, IEEE Software, March/April 2001 Ardis, M., Daley, N., Hoffman, D., Siy, H., Weiss, D.; Software Product Lines: A Case Study, Software Practice and Experience 30(7), 825-847, June 2000 Mockus, A., Weiss, D.; Predicting risk of software changes. Bell Labs Technical Journal, 5(2), April/June 2000 Coplien, J., Hoffman, D., Weiss, D.; Commonality and Variability in Software Engineering, IEEE Software, November/December, 1998 pp. 37-45 Cuka, D., Weiss, D.; Engineering Domains: Executable Commands As An Example, Proc. International Conference On Software Reuse, June, 1998 Gupta, N., Jagadeesan, L., Koutsofios, E., Weiss, D.; Auditdraw: Generating Audits the FAST Way, Proc. IEEE International Symposium on Requirements Engineering, January, 1997 Gupta, N., Jagadeesan, L., Koutsofios, E., Weiss, D.; Auditdraw: Generating Audits the FAST Way, Proc. AT&T Software Symposium, October, 1995 Weiss, D.; Software Synthesis: The FAST Process, Proc. Computing in High Energy Physics 95, September, 1995 Cuka, D., Weiss, D.; Integrating Customer Documentation With Specifications, Fifth Annual Customer Documentation Conference, May, 1993 Kirby, J., Lai, R., Weiss, D.; A Formal Model of A Software Design Process, Proc. Pacific Northwest Software Quality Conference, October, 1990 Weiss, D.; Teaching A Software Design Methodology, IEEE Transactions on Software Engineering, vol. SE-13, no. 11, November, 1987 Parnas, D. L., Weiss, D.; Active Design Reviews: Principles and Practices, Proc. Eighth International Conference on Software Engineering, August, 1985 Basili, V., Weiss, D.; Evaluating Software Development By Analysis of Changes: Some Data From The Software Engineering Laboratory, IEEE Trans. on Software Engineering, February, 1985 Basili, V., Weiss, D.; A Methodology For Collecting Valid Software Engineering Data, IEEE Trans. on Software Engineering, November, 1984 Clements, P. C., Parnas, D. L., Weiss, D. M.; The Modular Structure of Complex Systems, Proc. Seventh International Conference on Software Engineering, March 1984 Fryer, S., Weiss, D.; Evaluation of the A-7E Software Requirements Document By Analysis of Change Data - Part Two, 15th Asilomar Conference on Systems, Circuits, and Computers, November 1981 Basili, V., Weiss, D.; Evaluation of a Software Requirements Document By Analysis of Change Data, Proc. Fifth International Conference on Software Engineering, March 1981 Weiss, D.; Evaluating Software Development By Error Analysis: The Data from the Architecture Research Facility, J. Systems and Software, vol. 1, 1979, 57-7 Parnas, D. L., Shore, J., Weiss, D.; Abstract Types Defined As Classes of Variables, ACM Conference on Data: Abstraction, Definition, and Structure, March 1976 Mange, P., Meier, R., Weiss, D.; A High Altitude Measurement of the Lyman-alpha Nightglow at Solar Minimum, J. Geophysical Research, vol. 25, July 1970
Technical Reports Geppert, B., Weiss, D.; Goal-Oriented Assessment of Product-Line Domains, Avaya Labs Technical Report ALR-2003-005 Hackbarth, R. L., Devos, M., Harrison, N. B., Maranzano, J. F., Mockus, A., Palframan, J. D., Payseur, J. Y., and Weiss, D. M.; The State of Avaya Software, December 2002,; January 2003, Avaya Labs Technical Report Hackbarth, R. L., Harrison, N. B., Maranzano, J. F., Palframan, J. D., Payseur, J. Y., and Weiss, D. M.; The State of Avaya Software, Spring 2002,; April 2002, Avaya Labs Technical Report Weiss, D., Devos, M., Harrison, N., Mockus, A., Palframan, J., Payseur, J., Zhang, CHawk software development, Avaya Resource Center for Software Technology Assessment Report, March 20, 2002 Weiss, D., Payseur, J., Zhang, P., Tendick, P; Sting Ray Software Technology Research Assessment Report, October 22, 2001 Weiss, D., Bennett, D., Payseur, J., Zhang, P., Tendick, P; Conversant Software Technology Research Assessment Report, April 10, 2001 Weiss, D., Bennett, D., Payseur, J., Zhang, P., Tendick, P; CMS Server Software Development Software Technology Research Assessment Report, April 24, 2001 Weiss, D.; Unified Messenger Software Development, Software Technology Research Assessment Interview Report, May 7, 2001 Weiss, D., Bennett, D., Payseur, J., Zhang, P., Tendick, P; 5.4 Interchange Software Development Software Technology Research Assessment Report, August 28, 2001 Dhara, K., Geppert, B., Krishnaswamy, V., Weiss, D.; Terminals For future Enterprise Communication, July 2, 2001 Mockus, A., Weiss, D.; Globalization By Chunking: A Quantitative Approach, Bell Labs Technical Report 10009677-000727-03TM. Weiss, D.; Defining Families: the Commonality Analysis, AT&T Bell Laboratories, BL0112650-960103-01TM, 1996 Ard, D., Burritt, Harrison, N., Jagadeesan, L., D., Meiners, J., Lyford, W., Waldman, K., Walter, D., Weiss, D.; Commonality Analysis for Definity Group Manager, AT&T Global Business Communications Services, December, 1995 Gupta, N., Jagadeesan, L., Koutsofios, E. Weiss, D.; Auditdraw: Generating Audits the FAST Way, AT&T Bell Laboratories, BL0112650-95-0911-42TM, 1995 Lai, R., Weiss, D.; A Formal Model Of The FAST Process, AT&T Bell Laboratories, BL0112650-95-09TM, 1995 Weiss, D. M., Commonality Reviews, AT&T Bell Laboratories, BL0112650-940321-09TM, 1994 Babu, G., Baron, M., Charles, A., D’Mello, J., Ebright, D., Gupta, N., Jagadeesan, L., Ozdemir, S., Patel, S., Paule, J., Phreykz, M., Trygar, R., Weiss, D.; Commonality Analysis for Audits, AT&T Switching Systems, July, 1994 Weiss, D.; Synthesis Operational Scenarios, Software Productivity Consortium Technical Report SYNTHESIS_OP_SCENARIOS-90038-MC, October, 1990 Campbell, G., Faulk, S., Weiss, D.; Introduction to Synthesis, Software Productivity Consortium Technical Report INTRO_SYNTHESIS_90019-N, June 1990 SDI: Technology, Survivability, and Software, Office of Technology Assessment, May 1988 Weiss, D.; Reuse and Prototyping: A Methodology, Software Productivity Consortium Technical Report TR-1988-022, March 1988 Weiss, D.; Teaching A Software Design Methodology, Technical Report TR-86-04, Wang Institute of Graduate Studies, Tyngsboro, MA, June 1986 Chmura, L., Clements, P., Parnas, D. L., Shore, J., Weiss, D., et. al.; Software Engineering Principles, Naval Research Laboratory, Washington, D. C., August 1981 Parnas, D. L., Shore, J., Weiss, D.; Abstract Types Defined As Classes of Variables, NRL Report 7998, Naval Research Laboratory, Washington, D.C., 1976 Weiss, D.; Evaluating Software Development By Analysis of Change Data, Technical Report TR-1120, University of Maryland Computer Science Center, November 1981 Basili, V., Weiss, D.; Evaluating Software Development By Analysis of Changes: The Data From The Software Engineering Laboratory, University of Maryland Technical Report TR-1236, December 1982 Basili, V., Zelkowitz, M., McGarry, F., et. al.; The Software Engineering Laboratory, University of Maryland Technical Report TR-535, May 1977 Weiss, D.; A Comparison of Errors in Different Software Development Environments, NRL Report 8598, Naval Research Laboratory, Washington, D.C., July 1982 Basili, V., Weiss, D.; A Methodology for Collecting Valid Software Engineering Data, NRL Report 8679, Naval Research Laboratory, Washington, D.C., Naval Research Laboratory, Washington, D.C., July 1983 Chmura, L., Weiss, D.; Evaluation of the A-7E Software Requirements Document By Analysis of Changes: Three Years of Data, NRL Report 4938, Naval Research Laboratory, Washington, D.C., 1983 Clements, P., Britton, K., Parnas, D. L., Weiss, D.; Interface Specifications for the SCR (A-7E) Extended Computer Module, NRL Report 4843, Naval Research Laboratory, Washington, D.C., January 1983 Weiss, D.; Evaluating Software Development by Error Analysis: The Data from the Architecture Research Facility, NRL Report 8445, Naval Research Laboratory, Washington, D.C., December 1980 Weiss, D.; The MUDD Report: A Case Study of Navy Software Development Practices, NRL Report 7909, Naval Research Laboratory, Washington, D.C., May 1975
Invited Talks Software Product Lines and Open Market Software Development, WIRE 2007, II Workshop for Reuse Introduction in Companies, Porto de Galinhas, Brazil, June 2007 Architecture of Product Lines, Golisano College of Computing and Information Sciences Dean's Lecture Series, Rochester Institute of Technology, Rochester, NY, April 2007 - Next Generation Software Product Line Engineering, Keynote address, 9th International Software Product Line Conference, Rennes, France, September 2005
Software Product Line Engineering, 17th International Conference on Software Engineering and Knowledge Engineering, Taipei, Taiwan, July 2005 Open Market Software Development, Keynote address, 6th International Workshop on Process Simulation and Modeling, St. Louis, MO, May 2005 Software Product Line Engineering, Industrial Workshop on Component-Based Reuse, Beijing, China, December 2004 Product-Line Engineering As The Basis For Reuse, Keynote address, International Conference on Software Reuse, Leganes, Spain, July 2004 Industrial Strength Product Line Engineering, Net Object Days, Erfurt, Germany, September 2003 Goal-oriented Domain Assessment and Evaluation, International Workshop on Software Reuse, University of Kaiserslautern, Kaiserslautern, Germany, March 2003 Engineering Domains: A Family Based Software Development Process Keynote address, European Reuse Workshop, November 1998 Engineering Domains: A Family Based Software Development Process, Invited talk, International Conference On Software Reuse, June 1998 Family-Oriented Abstraction, Specification, and Translation: The FAST Process, Keynote address, Computer Assurance Conference, June 1996 Software Synthesis: The FAST Process, Computing in High Energy Physics 95, September 1995 Synthesis: Integrating Process and Product, Keynote address, CIPIC-NASA Symposium on the State of the Practice in Software Engineering, November 1990
Seminars and Workshops - Geppert, B., Roessler, F., Weiss, D.; Consolidating Variability Models, Workshop on Software Variability Management, International Conference on Software Engineering, May, 2003
Geppert, B., Weiss, D.; Goal-oriented Domain Assessment and Evaluation, International Workshop on Software Reuse, University of Kaiserslautern, Kaiserslautern, Germany, March, 2003 Knauber, P., Bermejo, J., Böckle, G., Sampaio do Prado Leite, J., van der Linden, F., Northrop, L., Stark, M., Weiss, D.; Quantifying Product Line Benefits, Fourth International Workshop on Product Family Engineering, Bilbao, Spain, December, 2001 Weiss, D.; A Software Engineering Course for Program Managers; Weapons System Software Management Conference, June, 1976 Parnas, D. L., Clements, P. C., Weiss, D.; Enhancing Reusability with Information Hiding, Proc. Workshop on Reusability in Programming, September, 1983 Chmura, L., Weiss, D.; Evaluation of the A-7E Software Requirements Document by Analysis of Changes: Three Years of Data, NATO AGARD Avionics Symposium, September, 1982 Weiss, D.; A Comparison of Software Errors in Different Environments, Sixth NASA Software Engineering Workshop, December, 1981
Short Courses and Tutorials Taught Industrial Strength Software Product-Line Engineering, Software Product Lines Conference, Boston, MA, September, 2004, International Conference on Software Engineering, Portland, OR, May, 2003 Commonality Analysis: Principles and Practice, International Conference On Software Engineering, November, 1995 Measurement for Management, Rocky Mountain Institute of Software Engineering, 1 day tutorial Software Cost Reduction Design Workshop, Wang Institute Summer Institute in Computer Science and Engineering
Miscellany Weiss, David M.; "Family-Based Software Development," Software Development Times, 1 Dec 2005 Weiss, David M.; "Saving Software Engineering," Desert Island Column in Journal of Automated Software Engineering, 11:3, 2004 Ardis, M., Cuka, D., Lied, R., Weiss, D.; Commonality Analysis: Principles and Practice, Course Notebook, November, 1995 Weiss, D.; Software Synthesis: The FAST Process, article in MultiUse Express, June, 1994 Weiss, D.; Rethinking Requirements, Editorial in FAA's AAP Software Engineering Newsletter, November, 1989 Weiss, D.; Information Hiding, article in 3rd and 4th editions of Encyclopedia of Computer Science and Engineering Weiss, D.; Encapsulation, article in 3rd and 4th editions of Encyclopedia of Computer Science and Engineering Clements, P.C., Parnas, D.L., Weiss, D.M., "Enhancing Reusability with Information Hiding",IEEE Tutorial "Software Reusability" edited by Peter Freeman, IEEE Computer Society Press, IEEE Catalog #EH0256-8, ISBN 0-8186-0750-5, 1987, pp. 83-90. Reprinted in Software Reusability, edited by Ted J. Biggerstaff and Alan J. Perlis, Volume I, pp. 141-157, Addison-Wesley, 1989
|
|
|
| |