Empirical Research
in
Software Engineering



A Workshop

Marriott Hotel
Greenbelt, MD

June 29-30, 1998

Sponsored by:
The National Science Foundation

Organized by:
The University of Virginia
The University of Maryland



Final Report Prepared by:

Susan S. Brilliant
John C. Knight

December 31, 1998

Table of Contents

Executive Summary *

1. Introduction *

2. Definition of Empirical Research *

3. Impediments to Empirical Research in Software Engineering *

4. Lessons from Observation of Successful Organizational Structures *

5. Keys to Success in Collaborative Research *

6. How Academics can Improve their Chances of Success in Empirical Work *

7. Fundable Projects *

8. How People in Industry can Encourage Empirical Research *

9. Keys to Encouraging Fruitful Interaction at Technical Meetings *

10. How Funding Agencies can Encourage Empirical Work *

11. Suggested Changes in Infrastructure *

12. Technology Transfer *

13. Action Items *

14. Suggested Reading *

15. Bibliography *

APPENDIX A: Workshop Attendees *

APPENDIX B: A Priori List of Questions for Discussion *

APPENDIX C: Issues and Positions Submitted by Participants Prior to Workshop *

 

Executive Summary

This is a report of a workshop held in June 1998 to discuss the issue of empirical research in software engineering. The Universities of Virginia and Maryland organized the workshop, and it was funded by the National Science Foundation (NSF). The workshop was attended by representatives from academia, funding agencies, and industrial software development organizations.

Empirical research in software engineering is the observation of some aspect of software development in an experimental sense. The observation might be of an existing activity employing accepted techniques or of the application of new techniques. Clearly, this type of research is best performed on real development projects with professional developers although much of value has been learned by doing experiments with student developers. To ensure adequate input from professional developers, several representatives from industry attended the workshop who both understand research and have experience with development.

Empirical research is important to the software engineering field because the results of such research both help to characterize the technical problems with which the field is concerned and evaluate new techniques in a relevant context. In the view of the workshop organizers, insufficient empirical research in software engineering is being conducted despite the need and commendable efforts by funding agencies such as the NSF. The reason for holding this workshop was to review the situation and seek ways of enabling more empirical research.

The conclusions of the workshop are quite detailed. Many of the conclusions are suggestions to researchers of ways to make empirical research more successful. There are also ideas for industrial organizations and funding agencies. Beyond the detailed conclusions, several general and important observations came from the workshop discussions. Specifically:

  1. There is a significant need for empirical research in software engineering. Many important issues faced by the community can only be addressed by experimentation.
  2. Experimental work is complex and expensive to perform.
  3. Although there are exceptions, in many cases industry does not perceive a significant benefit from working with academic researchers in joint activities of an experimental nature.

Of these three observations, the third is the most serious and is at the heart of the issue. The representatives from industry at the workshop expressed doubt that the return to industry from an investment in joint research with academics would be worth the cost. To achieve success in this area, it is essential that this state of affairs be changed. Industrial developers should view the work of academics as valuable, and something to be promoted and sought after.

Many changes will have to be made if empirical research in software engineering is to be more extensive, more significant, and more successful. All three parties that are involved (industry, academic researchers, and funding agencies) will need to make changes, and they will have to coordinate these changes so as to ensure that all the concerns of the stakeholders are addressed.

  1. Introduction

The software industry is facing significant problems in software development that can be addressed and resolved, at least in part, by careful research. However, there seems to be a disconnect between the industrial and research communities. Practitioners are, in many cases, not especially interested in the work that is being done by academic researchers. Even the most successful research projects in universities are not always embraced by industry. Many academic researchers in software engineering think that more extensive empirical research--research in which the problems faced by developers were studied carefully by academic researchers and new techniques evaluated in production circumstances--would be valuable. In practice, opportunities for such research are severely limited.

This is the report on a workshop that was organized to discuss the issue of empirical research in software engineering. The workshop, funded by the National Science Foundation and organized by the University of Virginia and the University of Maryland, took place at the Marriott Hotel in Greenbelt, Maryland, June 29-30, 1998. The workshop participants are listed in Appendix A.

The goal of the workshop was to look for new and innovative ways to achieve more extensive empirical research in software engineering. Ideas leading to research approaches which include more industrial participation and artifacts were sought. A list of specific questions to be addressed by the workshop was made available before the workshop via the World Wide Web. Appendix B lists these questions. Attendees were asked to submit prior to the workshop a set of up to ten questions or comments relating to the workshop theme. The questions and comments that were submitted appear in Appendix C.

The first day of the workshop was devoted to focused discussions of the workshop issues. Participants separated into two smaller discussion groups and then came together to present and discuss the ideas generated by the discussion groups. The second day was used to synthesize the ideas that had been discussed and to develop a list of action items.

Beyond the detailed conclusions, several general and important observations came from the workshop discussions. Specifically:

  1. There is a significant need for empirical research in software engineering. Many important issues faced by the community can only be addressed by experimentation.
  2. Experimental work is complex and expensive to perform.
  3. Although there are exceptions, in many cases industry does not perceive a significant benefit from working with academic researchers in joint activities of an experimental nature.

Of these three observations, the third is the most serious and is at the heart of the issue. The representatives from industry at the workshop expressed doubt that the return to industry from an investment in joint research with academics would be worth the cost. Perhaps this observation was known by some and suspected by others, but it documents a very serious state of affairs. If practitioners do not see an overwhelming benefit from working with the research community, then the value of ongoing research must be questioned since it is by the current output that research is judged.

To achieve success in this area, it is essential that this state of affairs be changed. Industrial developers should view the work of academics as valuable, and something to be promoted and sought after.

The remainder of this report details the ideas that were generated and discussed at the workshop. The organizers of the workshop are extremely grateful to the participants for their contributions and to the National Science Foundation for its support. The ideas set forth in this report are those of the participants. Any errors in reporting those ideas in this report are entirely the responsibility of the authors of the report.

  1. Definition of Empirical Research

Empirical research can be defined as analysis based on the observation of actual practice for the purpose of discovering the unknown or testing a hypothesis. It involves an investigator gathering data and performing analysis to determine the meaning of the data, and encompasses the following research strategies:

An analysis of the state of the art in empirical software engineering entitled "The Role of Experimentation in Software Engineering: Past, Current, and Future" was presented by V.R. Basili in a keynote address at the 18th International Conference on Software Engineering, Berlin, Germany, 1996 (see section 14).

  1. Impediments to Empirical Research in Software Engineering

Industry and academia are not monolithic entities. There are different problems and motivations, so impediments vary from one situation to another. Also, some impediments may separate developers from researchers within the same organization as well as from external researchers.

The following is a list of impediments that were identified as factors that inhibit empirical research in software engineering:

Proprietary issues often arise, but except in the case of safety-critical software, may be an excuse rather than a real roadblock; persistence to unravel the red tape is often required.

Problems often arise due to the differences between development and research time scales.

It is often difficult to convince industry of the benefits of research.

Reward structures for development and research personnel are not congruent.

The nature of the problems to be solved may impede research.

Students often are not around long enough to make a meaningful contribution within the long time frame of many empirical projects.

There are clearly cultural aspects to the problems being observed.

. In contrast with the hard sciences, the educational program in computer science is not geared toward development of an empirical attitude.

. In contrast with information systems, computer science instills little appreciation for the big picture, including what the company does to earn revenues.

. Empirical research is not always valued by academics. This attitude may hinder even those who do value it, because colleagues make decisions on promotion, tenure, and publication.

  1. Lessons from Observation of Successful Organizational Structures

Two examples of successful long-term organizations for collaborative research in software engineering were considered:

The Software Engineering Laboratory (SEL), an ongoing collaboration between the University of Maryland, NASA/Goddard, and CSC, was started in 1976 with the idea of trying to understand the software engineering process at NASA/Goddard. Work was directed toward finding the impact of available technologies and infusing identified and refined methods back into the software development process.

The Software Cost Reduction (SCR) project, also known as the A-7 project, was a 10-year collaboration between the Naval Research Laboratory and researchers led by David Parnas that began in 1976. The primary original goal was to test the use of information hiding as a design strategy. The lack of a requirements specification for the target software (the Navy’s A-7E Corsair II) led to the development of a methodology for producing requirements documents as well.

The following organizational attributes appear to have been important to the success of these collaborative efforts:

Observations from the study of these organizations also led to insights about the keys to success in collaborative work. These insights are incorporated in the next section.

  1. Keys to Success in Collaborative Research

A number of factors were identified that appear to contribute to the success of collaborative research, based on observations of successful collaborations. These include:

. Physical proximity appears to be necessary, although technology may shrink this problem.

. There are several collaboration strategies that may work.

. Direct collaboration works best.

. A student can work with developers, then return to the university.

. A student can be supported by industry on a relevant project.

. The success of the project must be perceived as being as important to the researcher as to the rest of the development team

  1. How Academics can Improve their Chances of Success in Empirical Work

There are number of things that academics who aspire to do good empirical work in software engineering can do to increase their probability of success. Advice for these academics includes:

. Strategic arguments may work with upper management.

. Make short term "return on investment" arguments to middle management.

. Contribution to the success of the specific development project may be the only thing that is important to the development manager.

Academics can also contribute to improving the climate for empirical research by developing and exporting an empirical attitude.

  1. Fundable Projects

There are a number of common characteristics of projects that are deemed worthy of funding by industry. These include:

  1. How People in Industry can Encourage Empirical Research

Successful collaborative research efforts are likely to be beneficial to industry. There are some ways in which people in industry can encourage research within their organizations and enhance their likelihood of forming a successful research partnership with academic researchers.

  1. Keys to Encouraging Fruitful Interaction at Technical Meetings

The planners of technical meetings can structure meetings in ways that encourage fruitful interaction between people from industry and people from academia. Helpful strategies include:

  1. How Funding Agencies can Encourage Empirical Work

Government funding agencies can play a significant role in encouraging empirical work in software engineering. The following are suggestions for new funding initiatives that could contribute to the encouragement of empirical research in software engineering:

There are also some adjustments to funding practices that could affect the success of funded empirical projects:

  1. Suggested Changes in Infrastructure

One possible reason for the dearth of empirical work in software engineering is the lack of an infrastructure to support and encourage this work. The following are potential infrastructure improvements:

  1. Technology Transfer

Although technology transfer was not the central issue of the workshop, it is closely related to the problem of encouraging empirical research. The historical lack of success in technology transfer is an impediment to research, because no one wants to invest resources in developing technologies that will never be used. On the other hand, good empirical research is likely to enhance technology transfer by providing evidence of the effectiveness of new technologies and by highlighting repairable problems with proposed technologies.

The following are barriers to successful technology transfer:

There are some keys to achieving successful technology transfer:

  1. Action Items

A number of action items were suggested during the workshop and/or identified at the end of the workshop. These include the following:

  1. Suggested Reading

The following are reading suggestions from workshop participants:

  1. Simon, Herbert, Models of My Life, MIT Press, 1996.
  2. National Research Council, Academic Careers for Experimental Computer Scientists and Engineers, Committee on Academic Careers for Experimental Computer Scientists, ISBN 0-309-04931-8; 1994.
  3. National Research Council, Scaling Up: A Research Agenda for Software Engineering, Computer Science and Technology Board, ISBN 0-309-04131-7; 1989.
  4. National Research Council, Statistical Software Engineering, Panel on Statistical Methods in Software Engineering, ISBN 0-309-05344-7; 1996.
  5. Kuhn, Thomas The Structure of Scientific Revolutions, University of Chicago Press, Third Edition, 1996.
  6. Allen, Thomas, Managing the Flow of Technology: Technology Transfer and the Dissemination of Technological Information Within the R and D Organization, MIT Press, 1977.
  1. Bibliography

This is a brief bibliography of papers that address a variety of topics in empirical software engineering. This bibliography is included to provide the reader with some starting points for reviewing the literature in the field. Many papers listed here come from the journal "Empirical Software Engineering". This journal leads the field in presenting results in this area.

  1. Avritzer, A.; Weyuker, E. J.; Monitoring smoothly degrading systems for increased dependability. In: Empirical Software Engineering. Vol.2, no.1; 1997; p.59-77.
  2. Basili, V. R.; Green, S.; Laitenberger, O.; Shull, F.; Sorumgard, S.; Zelkowitz, M. V.; The empirical investigation of perspective-based reading. In: Empirical Software Engineering. vol.1, no.2; 1996; p.133-64.
  3. Bertolino, A.; Marre, M.; Automatic generation of path covers based on the control flow analysis of computer programs. In: IEEE Transactions on Software Engineering. vol.20, no.12; Dec. 1994; p.885-99.
  4. Bowdidge, R. W.; Griswold, W. G.; How software engineering tools organize programmer behavior during the task of data encapsulation. In: Empirical Software Engineering. Vol.2, no.3; 1997; p.221-67.
  5. Briand, L. C.; Bunse, C.; Daly, J. W.; Differding, C.; An experimental comparison of the maintainability of object-oriented and structured design documents. In: Empirical Software Engineering. Vol.2, no.3; 1997; p.291-312.
  6. Briand,L.C.; Daly, J.W.; Wust, J. A unified framework for cohesion measurement in object-oriented systems. In: Empirical Software Engineering. Vol.3, no.1, 1998, p.65-117.
  7. Brooks, A.; Meta analysis-a silver bullet-for meta-analysts. In: Empirical Software Engineering. Vol.2, no.4; 1997; p.333-8.
  8. Brown, A. W.; Carney, D. J.; Clements, P. C.; Meyers, B. C.; Smith, D. B.; Weiderman, N. H; Wood, W. G.; Assessing the quality of large, software-intensive systems: a case study. In: Software Engineering - ESEC Ô95. 5th European Software Engineering Conference. Proceedings. Springer-Verlag, Berlin, Germany; 1995; p.384-404.
  9. Bruegge, B.; Dutoit, A.H.; Communication metrics for software development. In: Proceedings of the 1997 International Conference on Software Engineering, ICSE 97. ACM, New York, NY, USA, 1997, p.271-81.
  10. Daly, J.; Brooks, A.; Miller, J.; Roper, M.; Wood, M.; Evaluating inheritance depth on the maintainability of object-oriented software. In: Empirical Software Engineering. vol.1, no.2; 1996; p.109-32.
  11. El Emam, K.; Hoeltje, D.; Qualitative analysis of a requirements change process. In: Empirical Software Engineering. vol.2, no.2; 1997; p.143-52.
  12. El Emam, K.; Madhavji, N. H.; An instrument for measuring the success of the requirements engineering process in information systems development. In: Empirical Software Engineering. vol.1, no.3; 1996; p.201-40.
  13. EuroSTAR '94, the Second European Conference on Software Testing, Analysis and Review. Software Quality Eng, Jacksonville, FL, USA; 1994; 716 pp.
  14. Fusaro, P.; Lanubile, F.; Visaggio, G.; A replicated experiment to assess requirements inspection techniques. In: Empirical Software Engineering. Vol.2, no.1; 1997; p.39-57.
  15. Graham, D.; Software testing paradoxes, panaceas and engineering. In: Software Quality and Business Opportunities. Fifth European Conference on Software Quality Conference Proceedings. Irish Quality Assoc, Dublin, Ireland; 1996; p.239-45.
  16. Jankowski, D.; Computer-aided systems engineering methodology support and its effect on the output of structured analysis. In: Empirical Software Engineering. Vol.2, no.1; 1997; p.11-38.
  17. Johnson, P.M.; Tjahjono, D.; Does every inspection really need a meeting? In: Empirical Software Engineering. Vol.3, no.1; 1998; p.9-35.
  18. Kiper, J.D.; Auernheimer, B.; Ames, C.K.; Visual depiction of decision statements: what is best for programmers and non-programmers? In: Empirical Software Engineering. Vol.2, no.4; 1997; p.361-79.
  19. Koike,H.; Hui-Chu-Chu. How does 3-D visualization work in software engineering?: empirical study of a 3-D version/module visualization system. In: Proceedings of the 1998 International Conference on Software Engineering: Forging New Links. IEEE Comput. Soc, Los Alamitos, CA, USA, 1998, p.516-19.
  20. Lott, C. M.; A controlled experiment to evaluate on-line process guidance. In: Empirical Software Engineering. Vol.2, no.3; 1997; p.269-89.
  21. Millerl, J.; Daly, J.; Wood, M.; Roper, M.; Brooks, A.; Statistical power and its subcomponents-missing and misunderstood concepts in empirical software engineering research. In: Information and Software Technology. vol.39, no.4; April 1997; p.285-95.
  22. Miller-J; Wood-M; Roper, M. Further experiences with scenarios and checklists [software inspection]. In: Empirical Software Engineering. Vol.3, no.1; 1998; p.37-64
  23. Morasca, S.; Applying QIP/GQM in a maintenance project. In: Empirical Software Engineering. Vol.2, no.2; 1997; p.163-6.
  24. Munson, J. C.; Hall, G. A.; Estimating test effectiveness with dynamic complexity measurement. In: Empirical Software Engineering. vol.1, no.3; 1996; p.279-305.
  25. Ohlsson, N.; Eriksson, A. C.; Helander, M.; Early risk-management by identification of fault-prone modules. In: Empirical Software Engineering. Vol.2, no.2; 1997; p.166-73.
  26. Pitschinetz, R.; Wegener, J.; TESSY-management of software tests. In: Experience with the Management of Software Projects 1995 (MSPS'95). A Proceedings Volume from the 5th IFAC/IFIP/GI/GMA Workshop. Pergamon, Oxford, UK; 1996; p.11-16.
  27. Rosenblum, D.S.; Weyuker, E. J.; Lessons learned from a regression testing case study. In: Empirical Software Engineering. Vol.2, no.2; 1997; p.188-91.
  28. Rothermel, G; Harrold, M. J.; Experience with regression test selection. In: Empirical Software Engineering. Vol.2, no.2; 1997; p.178-88.
  29. Schneidewind, N.; NASA shuttle software maintenance evolution. In: Empirical Software Engineering. Vol.2, no.2; 1997; p.192-6.
  30. Seaman, C. B.; Basili, V. R.; The study of software maintenance organizations and processes. In: Empirical Software Engineering. Vol.2, no.2; 1997; p.197-201.
  31. Silverman, B.G.; Mehzer, T.; A study of strategies for computerized critiquing of programmers. In: Empirical Software Engineering. Vol.2, no.4; 1997; p.339-59.
  32. Sova, D. W.; Smidts, C.; Increasing testing productivity and software quality: a comparison of software testing methodologies within NASA. In: Empirical Software Engineering. vol.1, no.2; 1996; p.165-88.
  33. Tryggeseth, E.; Report from an experiment: impact of documentation on maintenance. In: Empirical Software Engineering. Vol.2, no.2; 1997; p.201-7.
  34. Von Mayrhauser, A.; Vans, A. M.; On increasing our knowledge of large-scale software comprehension. In: Empirical Software Engineering. Vol.2, no.2; 1997; p.159-63.
  35. Zuse, H.; Comments to the paper: Briand, Eman, Morasca: on the application of measurement theory in software engineering. In: Empirical Software Engineering. Vol.2, no.3; 1997; p.313-16.

APPENDIX A:
Workshop Attendees

William W. Agresti

Program Director, National Science Foundation

4201 Wilson Blvd.

Arlington, VA 22230

Fax: (703) 306-0589

Phone: (703) 306-1981

E-mail Address: wagresti@nsf.gov

Frank A. Anger

Program Director, National Science Foundation

4201 Wilson Blvd.

Arlington, VA 22230

Fax: (703) 306-1947

Phone: (703) 306-1911

E-mail Address: fanger@nsf.gov

Victor R. Basili

Professor, University of Maryland

College Park, MD 20742

Fax: (301) 405-6707

Phone: (301) 405-2668

E-mail Address: basili@cs.umd.edu

Web Page: http://www.cs.umd.edu/~basili/

Susan S. Brilliant

Associate Professor, Virginia Commonwealth University

Richmond, VA 23284-2014

Fax: (804) 828-8785

Phone: (804) 828-1301 x 116

E-mail Address: ssbrilli@vcu.edu

Web Page: http://www.mas.vcu.edu/faculty/brilliant.html

Betty H. C. Cheng

Dept. of Computer Science, Michigan State University

3115 Engineering Building

East Lansing, MI 48824-1226

Fax: (517) 432-1061

Phone: (517) 355-8344

E-mail Address: chengb@cps.msu.edu

Web Page: http://www.cps.msu.edu/~chengb/

Richard A. DeMillo

VP, Information and CS Research, Bellcore

MCC 1J-346B

Morristown, NJ 07960-6438

Fax: (973) 829-2645

Phone: (973) 829-4700

E-mail Address: rad@bellcore.com

Web Page: http://home.earthlink.net/~rdemillo

Michael Deutsch

Senior Principal Engineer, Hughes Network Systems

11717 Exploration Lane

Germantown, MD 20876

Fax: (301) 601-7220

Phone: (301) 428-2704

E-mail Address: mdeutsch@hns.com

Michael Evangelist

Director, School of Computer Science, Florida International University

E-mail Address: wme@cs.fiu.edu

Web Page: http://www.cs.fiu.edu/scspage/professor/Evangelist.html

Stuart R. Faulk

Research Associate, University of Oregon

120 Deschutes Hall

Eugene, OR 97403

Fax: (541) 346-1395

Phone: (541) 346-1350

E-mail Address: faulk@cs.uoregon.edu

Warren Harrison

Professor, Portland State University

Department of Computer Science

1800 SW Sixth Avenue

Portland, OR 97201

E-mail Address: warren@cs.pdx.edu

Web Page: http://www.cs.pdx.edu/~warren/overview.htm

Mary Jean Harrold

Assistant Professor, The Ohio State University

395 Dreese lab

2015 Neil Avenue

Columbus, OH 43210-1277

Fax: (614) 292-2911

Phone: (614) 292-2568

E-mail Address: harrold@cis.ohio-state.edu

Web Page: http://www.cis.ohio-state.edu/~harrold/

Charles C. Howell

Chief Engineer, Mitretek Systems

7525 Colshire Drive

McLean, VA 22102-7400

Fax: (703) 610-1603

Phone: (703) 610-1866

E-mail Address: howell@mitretek.org

John Knight

Department of Computer Science, University of Virginia

Charlottesville, VA 22903-2442

Fax: (804) 982-2214

Phone: (804) 982-2216

E-mail Address: knight@virginia.edu

Web Page: http://www.cs.virginia.edu/brochure/profs/knight.html

Nancy Leveson

E-mail Address: leveson@cs.washington.edu

Web Page: http://www.cs.washington.edu/homes/leveson/

Stephen P. Miller

Research Engineer, Collins Commercial Avionics

400 Collins Road NE, Cedar Rapids, IA 52498

Fax: (319) 295-4550

Phone: (319) 295-8008

E-mail Address: spmiller@collins.rockwell.com

Linda Ott

Chair and Associate Professor

E-mail Address: linda@mtu.edu

Phone: (906) 487-2209

Web Page: http://www.cs.mtu.edu/~linda/

Colin Potts

Associate Professor, Georgia Institute of Technology

College of Computing

801 Atlantic Drive

Atlanta, GA, 30332-0280

Fax: (404) 894-9442

Phone: (404) 894-5551

E-mail Address: potts@cc.gatech.edu

Web Page: http://www.cc.gatech.edu/fac/Colin.Potts/

Kevin Sullivan

University of Virginia, Department of Computer Science

Charlottesville, VA 22903-2442

Fax: (804) 982-2214

Phone: (804) 982-2206

E-mail Address: sullivan@virginia.edu

Web Page: http://www.cs.virginia.edu/~sullivan/

Lawrence G. Votta

Member of Technical Staff, Lucent Technologies

Room 2B305

Naperville, IL 60566-7013

Fax: (630) 713-4982

Phone: (630) 713-4612

E-mail Address: votta@bell-labs.com

Web Page: http://www.bell-labs.com/~votta

Allan Willey

Member of Technical Staff, Motorola, Inc.

CE Software Technology Center

1301 E. Algonquin Road

Schaumburg, IL 60196

Phone: (847) 576-6343

E-mail: willey@mot.com

Marvin Zelkowitz

Department of Computer Science, University of Maryland

College Park, Maryland 20742

Fax: (301) 405-3691

Phone: (301) 405- 2690

E-mail Address: zelkowitz@cs.umd.edu

Web Page: http://www.cs.umd.edu/~mvz/

APPENDIX B:
A Priori List of Questions for Discussion

Specific questions to be addressed include (but are not limited to):

1. Can Web and other communications technology be exploited to make limited experimental facilities more widely available to researchers? In many cases valuable experimental opportunities exist but can only be used by researchers who are geographically close to the source (an industrial development organization, for example.)

2. Can academics cooperate more easily using modern communications technology so as to enable larger and more realistic projects to be undertaken? Many industrial projects are too large to be studied by individuals but might be suitable for study by a team.

3. Could a repository of industrial-strength materials and development artifacts derived from industrial activities be established for use by researchers, and would such a repository be of value? Such a repository would permit comparative analyses by different researchers and would be available to all, but would not permit study of development processes and would be difficult to maintain.

4. What steps can be taken to make participation in empirical research more attractive to industry? Such participation is difficult because of the resources required, the fact that much of the relevant material is proprietary, the size of industrial projects, and because of doubts within industry about the benefits of participation.

5. What specific actions can be taken by researchers, industrial developers, and funding agencies to promote a comprehensive and extensive program of empirical research in software engineering?

APPENDIX C:
Issues and Positions Submitted by Participants Prior to Workshop

SUE BRILLIANT

BETTY CHENG

WARREN HARRISON

MARY JEAN HARROLD

CHUCK HOWELL

STEVE MILLER

LARRY VOTA

Position Statement for Empirical Workshop in Software Engineering

Lawrence G. Votta 6/25/98

Lucent Technologies Inc.

The starting point for many of my ideas for the roles of empirical work and the relationship of Engineering and Science are my personal experiences (as a physicist - 10 years, software developer - 12 years and software engineering researcher - 8 years), Thomas Kuhn's writings on the history of Science (The Structure of Scientific Revolutions[1]), and Thomas Allen's writings (Managing the Flow of Technology[2]) on the roles of engineers and scientist.

My personal experiences illustrate that to develop effective collaborations among researchers (industrial/industrial and industrial/university) and between researchers and engineers there must be common goals, an effective distribution of labor, and positive benefits and equivalent risks and costs for all participants. If any of these areas are missing or out of balance the resulting collaboration has a high probability of failure.

The writings of Thomas Kuhn illustrate the importance of the role of empirical work to any scientific discipline. Although many of his ideas have been recently challenged and several of his ideas replaced, the essence of the intrinsic symbiotic relationship between experimental and theoretical branches of a scientific discipline remain intact.

Finally, from an outsider’s view, the methods, techniques, and tools employed by scientist and engineers appear to be the same -- the reality is that they are used to achieve different goals. Thomas Allen in his book illustrates these differences and offers a simple model to discuss and appreciate the differences between scientist and engineers. His work has led to a simple model of how the three groups (researchers, state of the art engineers and everyday engineers) interact. As the size of these groups grows they become organizations with their own unique cultures which Tom discusses in the last half of his book.

The following observations highlight some of the differences between university research, industrial research, forward looking work, and development and are sources of many failed collaborations. They are interesting points to discuss and think about.

References

[1] Thomas Kuhn. "The Structure of Scientific Revolutions", University of Chicago Press, Second Edition, 1962.

[2] Thomas Allen. "Managing the Flow of Technology", MIT Press, 1977.

MARV ZELKOWITZ