United States | Worldwide
Go
IP TelephonyContact CentersUnified CommunicationsCEBP
David M. WeissDavid 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
CONTACT INFORMATION
Phone+1 908.696.5600
letterweiss_at_avaya_dot_com
Connect
with Avaya