Assessing the Perceptions of the Reuse Community

 

Stephen H. Edwards

Virginia Tech

Dept. of Computer Science

660 McBryde Hall

Blacksburg, VA 24061-0106

Tel: (540) 231-5723, fax: (540) 231-6075

Email: edwards@cs.vt.edu

URL:http://www.cs.vt.edu/~edwards

 

Abstract

This position paper proposes a group exercise for the WISR9 community. It includes a survey for participants to take that may give us a better understanding of our collective beliefs and our disagreements. I propose that we all take this survey on the first day of WISR9. If possible, a preliminary analysis of the data will be presented by the end of the workshop.

 

Keywords: Survey, attitudes, progress, empirical study

Workshop Goals: To conduct this survey, to network with other reuse researchers, to discuss component-based software composition problems.

Working Groups: design for reuse, language features for reuse, component certification.

 

1 Background

Reusing software parts in building new applications was originally suggested nearly 30 years ago [McIlroy69], and software reuse has been pursued as a distinct research topic for at least 15 years [Biggerstaff83]. Nevertheless, some practitioners feel that reuse has not lived up to its potential as a strategy for reducing software costs or achieved serious penetration into development practices. As the field of computer science continues to grow, new researchers and practitioners bring fresh perspectives and insights to the area of software reuse, while also occasionally losing sight of established results. Similarly, the widespread adoption of new technologies, such as object-oriented programming, commercially-oriented component strategies, and changing programming language preferences, exposes new questions and spins older issues in new directions. In this context, it is important for the reuse community to take stock of its beliefs and its perceptions of its own work, relevance, and impact.

2 Position

I believe that with the participation of the WISR9 audience, a simple survey would provide wonderful grist for a group discussion of the reuse community's perceptions about its own work.

3 Approach

I propose that the simple survey presented in this section be distributed in hard-copy form on the first day of WISR9. Participants can fill out the survey in their spare time, discuss the questions with others, and return their completed surveys to a central location by lunch time on the first day. I will attempt to compile and perform a preliminary analysis on the survey data during the workshop so that the results (such as they are) can be presented by the end of the workshop. A more detailed analysis and summary writeup may be prepared at a later date.

 

WISR9 Survey of the Reuse Community

You are being asked to complete this survey in order to provide us with feedback about how the reuse community perceives its goals, accomplishments, and failures. We value your input and appreciate your willingness to provide us with this information so that we may continue to improve the quality of reuse practice and research.

Please answer all of the questions. For each item, circle the letter of the response choice that best reflects how you feel about each of the questions. If you wish to comment on or qualify your answer, please use the margins or the "Comments" section at the end of the survey. Thank you for your time and assistance.

Your Perception of Reuse Activities
In general, how satisfied are you with the overall progress of reuse practice in the software industry?
A.  Very Satisfied
B.  Satisfied
C.  Dissatisfied
D.  Very Dissatisfied
In general, how satisfied are you with the overall progress of reuse research in industry or academia?
A.  Very Satisfied
B.  Satisfied
C.  Dissatisfied
D.  Very Dissatisfied
If appropriate, which of the following best represents how you feel about the quality of the reuse program at your organization?
A.  We have no organized reuse program
B.  It is a program of high quality
C.  It is a program of above average quality
D.  It is a program of below average quality
E.  It is a program of low quality
F.  Not applicable
For some time, the reuse community has accepted Will Tracz's definition of reuse: taking software that was designed to be used in multiple contexts and applying it as part of a new software application. Tracz specifically separates this definition from: "scavenging" code that was not designed for reuse, carrying over code from one version of an application to another, and calling the same piece of code from multiple locations in the same application. To what extent do you agree with this definition of "reuse"?
A.  I agree strongly
B.  I agree
C.  I disagree
D.  I disagree strongly
If you disagree with the definition given above, can you state an alternative definition?


When talking about reuse in an object-oriented context, the term "reuse" has been applied to a number of practices. Please rate the degree to which you feel each of the following constitutes reuse:
Strongly
Disagree
Disagree Agree Strongly
Agree
Using a class unmodified in several applications 1 2 3 4
Using one class in several locations within one application 1 2 3 4
Using a common base class to create distinct derived classes in separate applications 1 2 3 4
Using a common base class to create several derived classes in one application 1 2 3 4
Using an abstract base class (an interface, with no code) to create distinct derived classes in separate applications 1 2 3 4
Using an abstract base class (an interface, with no code) to create several derived classes in one application 1 2 3 4
Creating a subclass that overrides no methods in its parent class 1 2 3 4
Creating a subclass that overrides some of the methods in its parent class 1 2 3 4
Creating a subclass that overrides all of the methods in its parent class 1 2 3 4
Please rate each of the following as important parts of a successful reuse strategy:
Not at All
Important
Somewhat
Important
Important Very
Important
Visual Basic-style component infrastructures 1 2 3 4
ActiveX components 1 2 3 4
COM/DCOM component infrastructure 1 2 3 4
CORBA component infrastructure 1 2 3 4
Subroutine libraries 1 2 3 4
Parameterized programming 1 2 3 4
Component generation technologies 1 2 3 4
OO class frameworks 1 2 3 4
Design patterns 1 2 3 4
Architectural styles 1 2 3 4
4GLs 1 2 3 4
Domain-specific languages 1 2 3 4
Two- or three-tiered client/server architectures 1 2 3 4
Regarding the main issues that must be resolved to achieve cost-effective levels of reuse, the reuse community devotes enough time/focus to:
Strongly
Disagree
Disagree Agree Strongly
Agree
Management issues 1 2 3 4
Library cataloging/search issues 1 2 3 4
Component certification issues 1 2 3 4
Architectural issues 1 2 3 4
Language/programming issues 1 2 3 4
Other technical issues 1 2 3 4
Other non-technical issues 1 2 3 4
Of all the advances made in reuse research and practice, please list the three you believe have had the most positive impact in software development practice:
  1.  
  2.  
  3.  
Of all the outstanding problems in reuse that remain unaddressed, please list the three that you believe are most important to solve:
  1.  
  2.  
  3.  
Background Information
Please specify which one of the following best describes your primary field of practice:
A.  Mass-market software development
B.  Contract/custom software development
C.  Defense-sector software development
D.  In-house software development/maintenance
E.  Project management
F.  Network engineer
G.  Network/systems administration
H.  Applied research
I.  Theoretical research
J.  Teaching/research
K.  Other CS area (please specify) __________________________
L.  I am not employed in a CS position
How long have you been involved in reuse research or practice?
A.  Less than 6 months
B.  6-12 months
C.  More than 1 year, but less than 2
D.  More than 2 years, but less than 5
E.  More than 5 years, but less than 10
F.  10 or more years
G.  Not applicable
In which of the following reuse-related professional development activities have you participated in the last two years? (Circle all that apply)
A.  Attended a reuse-related workshop, conference, or seminar
B.  Conducted a reuse-related workshop
C.  Presented a reuse-related talk within my organization
D.  Presented a reuse-related talk at a regional or national conference
E.  Published a magazine article related to reuse
F.  Published a refereed journal article related to reuse
K.  Other (please specify) _________________________________
What is your gender?
A.  Male
B.  Female
Please describe your higher education background (list all that apply).
A.  BS or BA In CS? ____ Year of graduation _____________
B.  MS or equivalent In CS? ____ Year of graduation _____________
C.  Ph.D. In CS? ____ Year of graduation _____________
D.  Other (please specify) _____________________________________
Please use the space below to comment on specific benefits and advantages of participating in the reuse community through WISR.
A.  What benefits have you derived from participating in WISR?




B.  What suggestions or proposed changes would you make in the WISR program?




C.  What areas or aspects of the program should not be changed?




Are there other comments you have regarding your experience with software reuse research or practice?




 

4 Comparison

This position paper is designed to provoke discussion and introspection, rather than designed to describe current research efforts. As a result, it is difficult to compare to other past efforts. There have been informal WISR surveys in the past, but the primary goal was to assess the workshop itself, its format, and its future directions. Here, the focus is instead on an attempt to assess commonly held beliefs within the reuse community, both about the definition of "reuse" and and also about the critical problems that remain unsolved.

 

References

[McIlroy69] McIlroy, M.D., "Mass-Produced Software Components," Software Engineering, NATO Science Committee,Garmisch, Germany, 1969, pp. 138-155.

[Biggerstaff83] Biggerstaff, T., and Cheatham, Jr., T. E., eds., Proceedings of the ITT Workshop on Reusability in Programming, ITT Programming, Stratford, CT, September 7-9, 1983.

Biography

Stephen H. Edwards (edwards@cs.vt.edu) Virginia Tech, Dept. of Computer Science, 660 McBryde Hall, Blacksburg, VA 24061-0106, http://www.cs.vt.edu/~edwards

Stephen H. Edwards is an Assistant Professor in the Department of Computer Science at Virginia Tech. His research interests include formal models of software structure, software composition, software reuse, software engineering, the use of formal methods in programming languages, and information retrieval technology. He has been a regular WISR attendee since WISR3 (before it was called "WISR"), and also serves on the program committees for the International Conference on Software Reuse and the Symposium on Software Reuse.

Mr. Edwards continues to work closely with the Reusable Software Research Group at the Ohio State University and at West Virginia University. His current research involves developing tools to integrate with the RSRG's Software Composition Workbench, including tools for automatic testing, for code metrics collection, and for software production metrics collection.