Nothing Special   »   [go: up one dir, main page]

skip to main content
research-article

Reusing Software: Issues and Research Directions

Published: 01 June 1995 Publication History

Abstract

Software productivity has been steadily increasing over the past 30 years, but not enough to close the gap between the demands placed on the software industry and what the state of the practice can deliver nothing short of an order of magnitude increase in productivity will extricate the software industry from its perennial crisis. Several decades of intensive research in software engineering and artificial intelligence left few alternatives but software reuse as the (only) realistic approach to bring about the gains of productivity and quality that the software industry needs. In this paper, we discuss the implications of reuse on the production, with an emphasis on the technical challenges. Software reuse involves building software that is reusable by design and building with reusable software. Software reuse includes reusing both the products of previous software projects and the processes deployed to produce them, leading to a wide spectrum of reuse approaches, from the building blocks (reusing products) approach, on one hand, to the generative or reusable processor (reusing processes), on the other. We discuss the implication of such approaches on the organization, control, and method of software development and discuss proposed models for their economic analysis. Software reuse benefits from methodologies and tools to:build more readily reusable software andlocate, evaluate, and tailor reusable software, the last being critical for the building blocks approach.Both sets of issues are discussed in this paper, with a focus on application generators and OO development for the first and a thorough discussion of retrieval techniques for software components, component composition (or bottom-up design), and transformational systems for the second. We conclude by highlighting areas that, in our opinion, are worthy of further investigation.

References

[1]
W.W. Agresti, “What are the new paradigms?,” New Paradigms for Software Development. ed. W.W. Agresti, pp. 6-10, IEEE, 1986.]]
[2]
William W. Agresti, “Framework for a flexible development process,” New Paradigms for Software Development, William W. Agresti, ed., pp. 11-14, IEEE, 1986.]]
[3]
M. Aksit, and L. Bergmans, “Obstacles in OO software development,” Proc. OOPSLA ’92, Vancouver, B.C., Canada, Oct. 18-22, 1992.]]
[4]
G. Arango, Ira Baxter, P. Freeman and C. Pidgeon, “Software maintenance by transformation,” IEEE Software, pp. 27-39, May 1986.]]
[5]
G. Arango, “Domain engineering for software reuse,” PhD thesis, Dept. Information and Computer Science,Univ. of California, 1988.]]
[6]
S.P. Arnold and S.L. Stepoway, “The reuse system: Cataloguing and retrieval of reusable software,” Proc. COMPCON S’87, IEEE CS Press, pp. 376-379. 1987.]]
[7]
D.M. Balda and D.A. Gustafson, “Cost-estimation models for the reuse and prototype software development,” ACM SIGSOFT, pp. 42-50, July 1990]]
[8]
R. Balzer, T. Cheatham Jr., and C. Green, “Software technology in the 1990s: Using a new paradigm,” Computer, Nov. 1983, pp. 39-45]]
[9]
R. Balzer, “A 15 year perspective on automatic programming, IEEE Trans. Software Engineering, pp. 1,257-1,268, Nov. 1985.]]
[10]
B. Barnes, T. Durek, J. Gaffney, and A. Pyster, “A framework and economic foundation for software reuse,” Proc. Workshop Software Reusability and Maintainability, 1987.]]
[11]
B.H. Barnes and T.B. Bollinger, “Making reuse cost-effective,” IEEE Software, vol. 8, no. 1, pp. 13-24, Jan. 1991.]]
[12]
V.R Basili, G. Caldiera, F. McGarry, R. Pajerski, G. Page, and S. Waligora, “The software engineering laboratory—an operational software experience,” Proc. 14th Int’l Conf. Software Engineering, Melbourne, Australia, pp. 370-381, May 11-15, 1992.]]
[13]
V.R. Basili and S. Green, “Software process evolution at the SEL,” IEEE Software, pp 58-66, July 1994.]]
[14]
V.R. Basili, “Viewing maintenance as reuse-oriented software development,” IEEE Software, vol. 7, no. 1, pp. 19-25, Jan. 1990.]]
[15]
V. R. Basili, and J.D. Musa, “The future engineering of software: A management perspective,” IEEE Computer, vol. 24, no. 9, pp. 90-96, Sept. 1991.]]
[16]
P.G. Bassett, “Frame-based software engineering,” IEEE Software, pp. 9-16, July 1987.]]
[17]
I.D. Baxter, “Design maintenance dystems,” Comm. ACM, vol. 35, no. 4, pp. 73-89, Apr. 1992.]]
[18]
P. Bergstein and K.J. Lieberherr, “Incremental class dictionary learning and optimization,” Proc. ECOOP ’91, Geneva, Switzerland, pp. 377-395.]]
[19]
T.J. Biggerstaff, and C. Richter, “Reusability framework, assessment, and directions,” IEEE Software, pp. 41-49, July 1987.]]
[20]
D. Blair and M.E. Maron, “An evaluation of retrieval effectiveness for a full-text,” Document-Retrieval System Comm. ACM, vol. 28, no. 3, pp. 289-299, Mar. 1985.]]
[21]
B. Boehm, “A spiral model of software development and enhancement.” Computer, vol. 21, no. 5, pp. 61-72, May 1988.]]
[22]
B. Boehm, “Improving software productivity,” IEEE Software, pp. 43-57, Sept. 1987.]]
[23]
B.W. Boehm, “Megaprogramming,” Keynote speech, ACM Computer Science Conf., Phoenix, Ariz., Feb. 1994,]]
[24]
R.J. Brachman and J.G. Schmolze, “An overview of the KL-ONE knowledge representation system,” Cognitive Science, vol. 9, pp. 171-216, 1985.]]
[25]
R. Bretl, D. Maier, A. Otis, J. Penney, B. Schuchardt, J. Stein, E.H. Williams, and M. Williams, “The GemStone data management system,” Object Oriented Concepts, Databases, and Applications. pp. 283-308, W. Kim, ed., Addison Wesley 1989.]]
[26]
F. Brooks, “No silver bullet: Essence and accidents of software engineering,” Computer, pp. 10-19, Apr. 1987.]]
[27]
B.A. Burton, R.W. Aragon, S.A. Bailey, K.D. Koehler, and L.A. Mayes, “The reusable software library,” IEEE Software, pp. 25-33, July 1987.]]
[28]
G. Caldiera, and V.R. Basili, “Identifying and qualifying reusable software components,” Computer, vol. 24, no. 2, pp. 61-70, Feb. 1991.]]
[29]
J. Carbonell, “Derivational analogy in problem solving and knowledge acquisition,” Proc. Int’l Machine Learning Workshop, Monticello, Ill., June 1983.]]
[30]
D. Carrington, D. Duke, I. Hayes, and J. Welsh, “Deriving modular designs from formal specifications,” Software Engineering Notes, Proc. First ACM SIGSOFT Symp. Foundations of Software Engineering, vol. 18, no. 5, pp. 89-98, Los Angeles, Calif., Dec. 7-10, 1993.]]
[31]
D. de Champeaux, D. Lea, and P. Faure, “The process of OO design,” Proc. OOPSLA ’92, Vancouver, B.C., Canada Oct. 18-22, 1992]]
[32]
P.S. Shicheng Chen, R. Hennicker, and M. Jarke, “On the retrieval of reusable components,” Selected Papers from the Second Int’l Workshop on Software, Reusability Advances in Software, ReuseLucca, Italy Mar. 24-26, 1993.]]
[33]
S.C. Cheung, and J. Kramer, “Enhancing compositional reachability analysis with context constraints,” Software Engineering Notes, Proc. First ACM SIGSOFT Symp. on the Foundations of Software Engineering, vol. 18, pp. 115-125, Los Angeles, Calif., Dec. 7-10, 1993.]]
[34]
C.T. Cleaveland, “Building application generators,” IEEE Software, July 1988, pp. 25-33.]]
[35]
P. Coad and E. Yourdon, Object Oriented Analysis. Prentice Hall, 1991, second edition.]]
[36]
P. Coad, “RE: On the purpose of OO analysis,” Proc. OOPSLA’93, Washington, D.C. Sept. 26 - Oct. 1, 1993.]]
[37]
W.R. Cook, “Interfaces and specifications for the Smalltalk-80 collection classes,” Proc. OOPSLA’92, 1992, Vancouver, B.C., Canada, Oct. 18-22.]]
[38]
B.J. Cox, Object Oriented Programming: An Evolutionary Approach. Reading, Mass.: Addison Wesley, 1987.]]
[39]
B.J. Cox, “Planning the software revolution,” IEEE Software, vol. 7, no. 6, pp. 25-35, Nov. 1990.]]
[40]
M.A. Cusumano, “The software factory: A historical interpretation,” IEEE Software, pp. 23-30, Mar. 1989.]]
[41]
M.B. Dahl and K. Nygaard, “Simula common base language,” Technical report S-22, Norvegian Computing Center, 1970.]]
[42]
T. Davis, “The reuse capability model: A basis for improving an organization’s reuse capability,” Advances in Software Reuse, Selected Papers from the Second Int’l Workshop on Software Reusability Advances in Software Reuse, pp. 126-133, Lucca, Italy Mar. 24-26, 1993.]]
[43]
L.P. Deutsch, “Design reuse and frameworks in the Smalltalk-80 programming system,” Software Reusability, vol. II, A.J. Perlis, ed., ACM Press, 1989.]]
[44]
E.W. Dijkstra, “On the cruelty of really teaching computer science,” Comm. ACM, vol. 32, no. 12, pp. 1,398-1,404, Dec. 1989.]]
[45]
M.S. Feather, “Reuse in the context of a transformation-based methodology,” ITT Proc. Workshop on Reusability in Programming, pp. 50-58, 1983.]]
[46]
R.G. Fichman and C.F. Kemerer, “Object oriented and conventional analysis and design methodologies: Comparison and critique,” Computer, vol. 25, pp. 22-39, Oct. 1992.]]
[47]
G. Fischer, “Cognitive view of reuse and design,” IEEE Software, pp. 60-72, July 1987.]]
[48]
W.B. Frakes and B. A. Nejmeh, “An information system for software reuse,” Software Reuse: Emerging Technology, IEEE CS Press, 1990, pp. 142-151.]]
[49]
W. B. Frakes and T. Pole, “An empirical study of representation methods for reusable software components,” Tech. Report, Software Productivity Consortium, Herndon, Va. May, 1992.]]
[50]
P. Freeman, “Reusable software engineering: Concepts and research directions,” Tutorial: Software Reusability, P. Freeman, ed., pp. 10-23, 1987.]]
[51]
R.P. Gabriel, “The failure of pattern languages,” J. Object Orientedriented Programming, pp. 84-88, Feb. 1994.]]
[52]
J. E. Gaffney and R.D. Cruickshank, “A general economics model of software reuse,” Proc. 14th Int’l Conf. Software Eng., pp. 327-337, ACM Press, Melbourne, Australia, May 11-15, 1992.]]
[53]
K.B. Gallagher and J.R. Lyle, “Using program slicing in software maintenance, IEEE Trans. Software Engineering, vol. 17, no. 8, pp. 751-761, Aug. 1991.]]
[54]
M. Garey and D Johnson, Computers and Intractability. San Francisco: Freeman, 1979.]]
[55]
S. Gibbs, D Tsichritzis, E. Casais, O. Nierstrasz, and X. Pintado, “Class management for software communities,” Comm. ACM, vol. 33, no. 9, pp. 90-103, 1990.]]
[56]
R. Godin and H. Mili, “Building and maintaining analysis-level class hierarchies using galois lattices,” ACM SIGPLAN Notices, OOPSLA ’93 Proc., vol. 28, pp. 394-410, Washington, D.C. Sept. 26 - Oct. 1, 1993,.]]
[57]
J.A. Goguen, “Reusing and interconnecting software components,” Computer, pp. 16-28, Feb. 1986,.]]
[58]
A. Goldberg, “Information models, views, and controllers,” Dr. Dobb’s, July 1990.]]
[59]
G. Gruman, “Early reuse practice lives up to its promise,” IEEE Software, pp. 87-91, Nov. 1988.]]
[60]
J.V. Guttag, J.J. Horning, and J.M. Wing, “An overview of the Larch family of specification languages,” IEEE Software, vol. 2, no. 5, pp. 24-36, Sept. 1985.]]
[61]
P. Hall and R. Weedon, “Object oriented module interconnection languages,” Selected Papers from the Second Int’l Workshop on Software Reusability Advances in Software Reuse, IEEE C S Press, pp. 29-38, Lucca, Italy, Mar. 24-26, 1993.]]
[62]
R.J. Hall, “Generalized behavior-based retrieval,” Proc. 15th Int’l Conf. Software Eng., ACM Press, pp. 371-380, Baltimore, Md., May 17-21, 1993.]]
[63]
W. Harrison and H. Ossher, “Subject-oriented programming: A critique of pure objects,” SIGPLAN Notices Proc. OOPSLA ’93, vol. 28, no. 10, pp. 411-428, Washington D.C., Sept. 26 - Oct. 1, 1993.]]
[64]
B. Harvey, H. Kilov, and H. Mili, “Specification of behavioral semantics in OO information modeling: Workshop report,” OOPS Messenger Addendum to the OOPSLA ’93 Proc., ACM Press.]]
[65]
R. Helm, I. Holland, and D. Gangopadhyay, “Contracts: Specifying behavioral compositions in OO systems,” Proc. OOPSLA ’90, ACM Press, Ottawa, Canada, Oct. 22-25, 1990.,]]
[66]
B. Henderson-Sellers and J.M. Edwards, “The OO systems life cycle,” Comm. ACM, vol. 33, no. 9, pp. 143-159, Sept. 1990.]]
[67]
R.C. Holt, T. Stanhope, and G. Lausman, “Object oriented computing: Looking ahead to the year 2000,” ITRC TR-9101, Apr. 1991, Information Technology Research Center, Univ. of Toronto.]]
[68]
E. Horowitz and J.B. Munson, “An expansive view of reusable software,” IEEE Trans. Software Engineering, vol. 10, no. 5, pp. 477-487, 1984.]]
[69]
E. Horowitz, A. Kemper, and B. Narasimhan, “A survey of application generators,” IEEE Software, vol. 2, no. 1, Jan. 1985.]]
[70]
G. M. Hoydalsvik and G. Sindre, “On the purpose of OO analysis,” Proc. OOPSLA ’93, ACM Press, pp. 240-255, Washington, D.C., Sept. 26- Oct. 1, 1993.]]
[71]
J. C. Huang, “State constraints and pathwise decomposition of programs,” IEEE Trans. Software Engineering, vol. 16, no. 8, pp. 880-898, Aug. 1990.]]
[72]
Y. Intrator and H. Mili, “Getting more out of your classes: Building families of programs in OOP,” Tech report no. 234, Dept. Maths and Computer Science,Univ. of Quebec at Montreal, May 13, 1994.]]
[73]
S. Isoda, “Experience report on a software reuse project: Its structure, activities, and statistical results,” Proc. 14th Int’l Conf. Software Engineering, pp. 320-326, Melbourne, Australia, May 11-15, 1992.]]
[74]
I. Jacobson, Object Oriented Software Engineering: A Use Case Driven Approach. ACP Press, 1992.,]]
[75]
R.E. Johnson, “Documenting frameworks using patterns,” Proc. OOPSLA ’92, ACM Press, pp. 63-76, Vancouver, B.C., Canada, Oct. 18-22, 1992.]]
[76]
G. Jones, “Methodology/Environment Support for Reusability,” Software Reuse: Emerging Technology, Will Tracz, ed., IEEE CS Press, pp. 190-193, 1990.]]
[77]
T. Capers Jones, “Reusability in programming: A survey of the state of the art,” IEEE Trans. Software Engineering, vol. 10, no. 5, pp. 488-494, Sept. 1984.]]
[78]
G.E. Kaiser and D. Garlan, “Melding software systems from reusable building blocks,” IEEE Software, pp. 17-24, July 1987.]]
[79]
K.C. Kang, “A reuse-based software development methodology,” Software Reuse: Emerging Technology, Will Tracz, ed., pp. 194-196, IEEE CS Press 1990.]]
[80]
S. Katz, C. Richter, and K.-S. The, “PARIS: A system for reusing partially interpreted schemas,” Proc. Ninth Int’l Conf. on Software Eng., pp. 377-385, 1987.]]
[81]
G. Kiczales and J. Lamping, “Issues in the design and documentation of class libraries,” Proc. OOPSLA ’92 SIGPLAN Notices, ACM Press, vol. 27, no. 10, pp. 435-451, Vancouver, B.C, Canada, Oct. 18-22, 1992.]]
[82]
P. Kruchten, E. Schonberg, and J. Schwartz, “Software prototyping using the SETL programming language,” IEEE Software, vol. 1, no. 4, pp. 66-75, Oct. 1984.]]
[83]
C.W. Krueger, “Software reuse,” ACM Computing Surveys, ACM Press, vol. 24, no. 2, pp. 131-183, June 1992.]]
[84]
S.S. Lam and A.U. Shankar, “Specifying modules to satisfy interfaces: A state transition system approach,” Distributed Computing, vol. 6, pp. 39-63, 1992.]]
[85]
R.G. Lanergan and C.A. Grasso, “Software engineering with reusable designs and code,” IEEE Trans. Software Engineering, vol. 10, no. 5, pp. 498-501, Sept. 1984.]]
[86]
J. Laski and W. Szermer, “Regression analysis of reusable program components,” Selected Papers from the Second Int’l Workshop on Software Reusability Advances in Software Reuse, IEEE CS Press, pp. 134-141, Lucca, Italy, Mar. 24-26, 1993.]]
[87]
D. Lea, “Christopher Alexander: An introduction for OO designers,” Software Engineering Notes, vol. 19, no. 1, pp. 39-46, Jan. 1994.]]
[88]
D.B. Lenat, R.V. Guha, K. Pittman, D. Pratt, and M. Shepherd, “CYC: Toward programs with common sense,” Comm. ACM, special issue on Natural Language Processing, vol. 33, no. 8, pp. 30-49, Aug. 1990.]]
[89]
L.S. Levy, “A metaprogramming method and its economic justification,” IEEE Trans. Software Engineering, vol. 12, no. 2, pp. 272-277, Feb. 1986.]]
[90]
M. Lubars, G. Meredith, C. Potts, and C. Richter, “Object oriented analysis for evolving systems,” Proc. 14th Int’l Conference on Software Engineering, pp. 173-185, May 11-15, 1992 Melbourne, Australia, ACM Press.]]
[91]
M.D. Lubars, “Wide-spectrum support for software reusability software reuse: Emerging technology,” pp. 275-281, ed. W. Tracz, IEEE CS Press, 1990.]]
[92]
Luqi, “A Graph Model for Software Evolution,” IEEE Trans. Software Engineering, vol. 16, no. 8, pp. 917-927, Aug. 1990.]]
[93]
Y.S. Yoelle S. Maarek, D.M. Berry, and G.E. Kaiser, “An information retrieval approach for automatically constructing software libraries,” IEEE Trans. Software Engineering, vol. 17, no. 8, pp. 800-813, Aug. 1991.]]
[94]
N.A. Maiden and A.G. Sutcliffe, “Exploiting reusable specifications through analogy,” Special issue on CASE, Communications of the ACM, vol. 35 no. 4, pp. 55-64, Apr. 1992.]]
[95]
N.A. Maiden and A. Sutcliffe, “People-oriented software reuse: the very thought,” Proc. Second Int’l Workshop on Software Reuse, Computer, pp. 176-185, PressLucca, Italy March 24-26, 1993.]]
[96]
J.H. Maloney, A. Borning, and B.N. Freeman-Benson, “Constraint technology for user-interface construction in ThingLab II,” pp. 381-388, Proc. OOPSLA ’89, ACM Press, Oct. 1989.]]
[97]
J. Margono and T.E. Rhoads, “Software reuse economics: cost-benefit analysis on a large-scale ada project,” Proc. 14th Int’l Conference on Software Engineering, pp. 338-348, May 11-15, Melbourne, Australia.]]
[98]
J Martin, “Fourth Generation Languages—Volume I: Principles,” Prentice-Hall 1985.]]
[99]
Y. Matsumoto, “A Software Factory: An Overall Approach to Software Production Tutorial: Software Reusability,” pp. 155-178, ed. P. Freeman, IEEE Press, 1987.]]
[100]
Y. Matsumoto, “Experiences from software reuse in industrial process control applications,” Selected Papers from the Second Int’l Workshop on Software Reusability Advances in Software Reuse, pp. 186-195, Lucca, Italy, March 24-26, 1993 IEEE CS Press.]]
[101]
R. McCain, “A software development methodology for reusable components Proc. 18th Hawaii Conference on Systems Sciences, Hawaii, Jan. 1985.]]
[102]
D.B. McCarn, “MEDLINE: an introduction to on-line searching,” J. American Society for Information Science, vol. 31, no. 3, pp. 181-192, May 1980.]]
[103]
C. McClure, “The three R’s of software automation: re-engineering, repository, Reusability,” Prentice-Hall, 1992.]]
[104]
D. McIlroy, “Mass produced software components,” Software Engineering Concepts and Techniques, 1968 NATO Conference on Software Engineering, pp. 88-98, eds. J. M. Buxton, P. Naur, and B. Randell, Petrocelli/Charter, New York 1969.]]
[105]
S. Mellor, “The Shlaer-Mellor Method,” Tutorial notes, OOPSLA’93, Washington, D.C. Sept. 26 - Oct. 1, 1993 ACM Press.]]
[106]
B. Meyer, “Object oriented software construction,” ed. Prentice-Hall Int’l, 1988.,]]
[107]
B. Meyer, “Lessons from the design of the eiffel libraries,” Communications of the ACM,. vol. 33, no. 9, pp. 69-88, Sept. 1990.]]
[108]
A. Mili, R. Mili, and R. Mittermeir, “Storing and retrieving software components: a refinement-based approach,” Proc. 16th Int’l Conf. on Software Engineering, Sorrento, Italy, May 1994.]]
[109]
H. Mili, J. Sibert, and Y. Intrator, “An OO model based on relations,” J. Systems and Software, vol. 12, pp. 139-155, 1990.]]
[110]
H. Mili, A. E. El Wahidi, and Y. Intrator, “Building a graphical interface for an OO tool for software reuse,” Proc. TOOLS USA ’92, ed. B. Meyer, Aug. 2-6, 1992, Santa Barbara, Calif.]]
[111]
H. Mili and H. Li, “Data abstraction in softclass, an OO case tool for software reuse,” Proc. TOOLS ’93, pp. 133-149, Santa-Barbara, CA Aug. 2-5, ed. B. Meyer, Prentice-Hall.]]
[112]
H. Mili, O. Marcotte, and A. Kabbaj, “Intelligent component retrieval for software reuse,” Proc. 3rd Maghrebian Conf. on Artificial Intelligence, and Software Engineering, pp. 101-114, Apr. 11-14, 1994, Rabat, Morocco.]]
[113]
H. Mili, R. Rada, W. Wang, K. Strickland, C. Boldyreff, L. Olsen, J. Witt, J. Heger, W. Scherr, and P. Elzer, “Practitioner and SoftClass: A Comparative Study of Two Software Reuse Research Projects,” J. Systems and Software, vol. 27, May 1994.]]
[114]
S.K. Misra and P.J. Jalics, “Third-generation versus fourth-generation development,” Software, vol. 5, no. 4, pp. 8-14, July 1988.]]
[115]
Th. Moineau, and M.C. Gaudel, “Software reusability through formal specifications, Proc. 1st Int’l Workshop on Software Reusability, Universitaet Dortmund 1991.]]
[116]
J.M. Morel and Jean Faget, “The REBOOT environment,” Selected Papers from the 2nd Int’l Workshop on Software Reusability Advances in Software, pp. 80-88, ReuseLucca, Italy, March 24-26, 1993, IEEE CS Press.]]
[117]
M. Moriconi, and T.C. Winkler, “Approximate reasoning about the semantic effects of program changes,” IEEE Trans. Software Engineering, vol. 16, no. 9, pp. 980-992, Sept. 1990.]]
[118]
J. Mostow and M. Barley, “Automated reuse of design plans,” Proc. Int’l Conf. on Engineering Design, Boston, MA 1987.]]
[119]
B.A. Myers, “User-Interface Tools: Introduction and Survey,” Software, pp. 15-23, Jan. 1989, Special issue on user interfaces.]]
[120]
K. Narayanaswamy, W. Scacchi, “Maintaining configurations of evolving software systems,” IEEE Trans. Software Engineering, vol. 13, no. 3, pp. 324-334, March 1987.]]
[121]
J.M. Neighbors, “The DRACO approach to constructing software from reusable components,” IEEE Trans. Software Engineering, pp. 564-574, Sept. 1984.]]
[122]
H. Ossher and W. Harrison, “Combination of inheritance hierarchies,” SIGPLAN Notices, Proc. OOPSLA’ 92., vol. 27 no. 10, pp. 25-40, Oct. 18-22, 1992, Vancouver, B.C., Canada,]]
[123]
H. Partsch and R. Steinbruggen, “Program transformation systems,” Computing Surveys, vol. 15 no. 3, pp. 399-236, Sept. 198.]]
[124]
L. Peters, “Advanced Structured Analysis and Design,” ed. R.W. Jensen, Prentice Hall, 1987.]]
[125]
M. Pittman, “Lessons learned in managing OO development,” Software, pp. 43-53, Jan. 1993.]]
[126]
A. Podgurski and L.A. Clarke, “A formal model of program dependences and its implications for software testing, debugging, and maintenance,” IEEE Trans. Software Engineering, vol. 16, no. 9, pp. 965-979, Sept. 1990.]]
[127]
A. Podgurski and L. Pierce, “Retrieving reusable software by sampling behavior,” ACM Transactions Software Engineering and Methodology, vol. 2 no. 3, pp. 286-303, July 1993.]]
[128]
J.S. Poulin and J.M. Caruso, “A reuse metrics and return on investment model,” selected papers from the 2nd. int’l workshop on software reusability advances in software, pp. 52-166, ReuseLucca, Italy, March 24-26, 1993, IEEE CS Press.]]
[129]
R. Prieto-Diaz and J.M. Neighbors, “Module interconnection languages, J. Systems and Software, vol. 6, no. 4, pp. 307-334, Nov. 1986.]]
[130]
R. Prieto-Diaz, “Domain analysis for reusability,” Proc. COMPSAC ’87, pp. 23-29, 1987, IEEE Press.]]
[131]
R. Prieto-Diaz and P. Freeman, “Classifying software for reusability Software, pp. 6-16, Jan. 1987.]]
[132]
R. Prieto-Diaz, “Integrating domain analysis and reuse in the software development process Proc. 3rd Annual Workshop on Methods and Tools for Reuse, CASE Center, Syracuse University, Syracuse, N.Y. June 13-15, 1990.]]
[133]
R. Prieto-Diaz, “Status Report: Software Reusability,” Software, vol. 10 no. 3, pp. 61-66, May 1993.]]
[134]
R. Rada, H. Mili, E. Bicknell, and M. Blettner, “Development and application of a metric on semantic nets IEEE Trans. Systems, Man, and Cybernetics, Jan./Feb. 1989, vol. 19, no. 1, pp. 7-30.]]
[135]
C.V. Ramamoorthy, V. Garg, and A. Prakash, “Support for reusability in Genesis,” IEEE Trans. Software Engineering, vol. 14, no. 8, pp. 1145-1154, Aug. 1988.]]
[136]
C. Rich and R. Waters, “Automatic programming: myths and prospects Computer, pp. 40-51, Aug. 1988.]]
[137]
C. Rich and R. Waters, “The programmer’s apprentice: A research overview,” Computer, pp. 1-25, Nov. 1988.]]
[138]
K.S. Rubin A. Goldberg, “Object behavior analysis,” Communications of the ACM, vol. 35, no. 9, pp. 48-62, Sept. 1992.]]
[139]
J. Rumbaugh, “Relations as semantic constructs in an OO language,” Proc. OOPSLA ’87, pp. 466-481, Oct. 4-8, 1987, ACM Press.]]
[140]
J. Rumbaugh, M. Blaha, W. Premerlani, F. Eddy, and W. Lorensen, “Object oriented modeling and design,” Prentice Hall, 1991.]]
[141]
D. Rumelhart and D. Norman, “Representation in memory,” Center for Human Information Processing, La Jolla, Calif.]]
[142]
G. Salton and M. McGill, “Introduction to Modern Information Retrieval,” McGraw-Hill, New York, 1983.]]
[143]
M. Shaw, “Abstraction techniques in modern programming languages,” Software, pp. 10-26 Oct. 1984.]]
[144]
M. Shaw, “Prospects for an Engineering Discipline of Software,” Software, vol. 7, no. 6, pp. 5-24, Nov. 1990.]]
[145]
J.J. Shilling and P.F. Sweeny, “Three steps to views: Extending the OO paradigm,” Proc. ACM Conf. on Object Oriented Programming, Systems, Languages, and Applications, pp. 353-361, New Orleans, Louisiana, Oct. 1989, ACM.]]
[146]
S. Shlaer and S. Mellor, “Object Oriented systems analysis: Modeling the world in data,” Yourdon Press: Englewood Cliffs, N.J. 1992.]]
[147]
B.G. Silverman, “Survey of expert critiquing systems: practical and theoretical frontiers,” Communications of the ACM, vol. 35, no. 4, pp. 06-127, Apr. 1992.]]
[148]
M.A. Simos, “The domain-oriented software life cycle: Toward an extended process model for reusability software reuse: emerging technology,” pp. 354-363, ed. Will Tracz, IEEE CS Press, 1990.]]
[149]
M. Sirkin, D. Batory, and V. Singhal, “Software components in a data structure precompiler, Proc. 15th Int’l Conf. on Software Engineering, pp. 437-446, Baltimore, Maryland, May 17-21, 1993, ACM Press.]]
[150]
A. Snyder, “Encapsulation and inheritance in OO programming languages,” Proc. OOPSLA ’86, pp. 38-45, Sept. 1986, Portland, Oregon.]]
[151]
L.S. Sorumgard, G. Sindre, and F. Stokke, “Experiences from application of a faceted classification scheme,” Selected papers from the 2nd Int’l Workshop on Software Reusability Advances in Software, pp. 116-124, ReuseLucca, Italy, March 24-26, 1993, IEEE CS Press.]]
[152]
B. Stroustrup, “The C++ programming languages,” Addison-Wesley 1986.]]
[153]
W. Tracz, “LILEANNA: A parameterized programming language,” Selected Papers from the 2nd Int’l Workshop on Software Reusability Advances in Software, pp. 66-78, ReuseLucca, Italy, March 24-26, 1993 IEEE CS Press.]]
[154]
J. Verner and G. Tate, “Estimating size and effort in fourth-generation development,” Software, vol. 5, no. 4, pp. 5-22, July 1988.]]
[155]
P. Wegner, “Varieties of reusability tutorial: Software reusability, ed. Peter Freeman, pp. 24-38, 1987.]]
[156]
P. Wegner, “Dimensions of OO modeling, OO computing,” Computer, CS Press, vol. 25 no. 10, pp. 2-20, Oct. 1992.]]
[157]
R. Wirfs-Brock, B. Wilkerson, and L. Wiener, “Designing OO software,” Prentice-Hall: 1990.]]
[158]
R. Wirfs-Brock and R.E. Johnson, “Surveying current research in OO design,” Communications of the ACM, vol. 33, no. 9, pp. 105-124., Sept. 1990.]]
[159]
S.N. Woodfield, D.W. Embley, and D.T. Scott, “Can programmers reuse software,” Software, July 1987, pp. 52-59.]]
[160]
E. Yourdon, “Decline & fall of the american programmer,” Prentice-Hall: Englewood Cliffs, N.J, 1992.]]
[161]
A.M. Zaremski and J.M. Wing, “Signature matching: A key to reuse software engineering, Notes, 1st ACM SIGSOFT Symp. on the Foundations of Software Engineering, vol. 18, pp. 582-190, 1993.]]
[162]
P. Zave, W. Schell, “Salient features of an executable specification language and its environment,” IEEE Trans. Software Engineering, vol. 12, no 2, pp. 312-325, Feb. 1986.]]
[163]
P. Zave and M. Jackson, “Conjunction as composition,” ACM Transactions on Software Engineering and Methodology, vol. 2, no. 4, pp. 379-411, Oct. 1993.]]

Cited By

View all
  • (2024)Context, Composition, Automation, and Communication: The C2AC Roadmap for Modeling and SimulationACM Transactions on Modeling and Computer Simulation10.1145/367322634:4(1-51)Online publication date: 13-Aug-2024
  • (2024)An Exploratory Study of Programmers' Analogical Reasoning and Software History Usage During Code Re-PurposingProceedings of the 2024 IEEE/ACM 17th International Conference on Cooperative and Human Aspects of Software Engineering10.1145/3641822.3641864(109-120)Online publication date: 14-Apr-2024
  • (2023)Some Initial Guidelines for Building Reusable Quantum OraclesService-Oriented Computing – ICSOC 2023 Workshops10.1007/978-981-97-0989-2_16(197-208)Online publication date: 28-Nov-2023
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image IEEE Transactions on Software Engineering
IEEE Transactions on Software Engineering  Volume 21, Issue 6
June 1995
95 pages

Publisher

IEEE Press

Publication History

Published: 01 June 1995

Author Tags

  1. OO software development
  2. Software reuse
  3. adapting reusable components.
  4. building reusable components
  5. managerial aspects of software reuse
  6. software component retrieval
  7. software reuse measurements

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 29 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Context, Composition, Automation, and Communication: The C2AC Roadmap for Modeling and SimulationACM Transactions on Modeling and Computer Simulation10.1145/367322634:4(1-51)Online publication date: 13-Aug-2024
  • (2024)An Exploratory Study of Programmers' Analogical Reasoning and Software History Usage During Code Re-PurposingProceedings of the 2024 IEEE/ACM 17th International Conference on Cooperative and Human Aspects of Software Engineering10.1145/3641822.3641864(109-120)Online publication date: 14-Apr-2024
  • (2023)Some Initial Guidelines for Building Reusable Quantum OraclesService-Oriented Computing – ICSOC 2023 Workshops10.1007/978-981-97-0989-2_16(197-208)Online publication date: 28-Nov-2023
  • (2022)Diversity-driven unit test generationJournal of Systems and Software10.1016/j.jss.2022.111442193:COnline publication date: 1-Nov-2022
  • (2021)CodeMatcher: Searching Code Based on Sequential Semantics of Important Query WordsACM Transactions on Software Engineering and Methodology10.1145/346540331:1(1-37)Online publication date: 28-Sep-2021
  • (2020)Quantifying reusability of software components using hybrid fuzzy analytical hierarchy process (FAHP)-Metrics approachApplied Soft Computing10.1016/j.asoc.2019.10599788:COnline publication date: 1-Mar-2020
  • (2020)Structural similarity measure between UML class diagrams based on UCGRequirements Engineering10.1007/s00766-019-00317-w25:2(213-229)Online publication date: 1-Jun-2020
  • (2019)A reference architecture for satellite control systemsInnovations in Systems and Software Engineering10.1007/s11334-019-00322-w15:2(139-153)Online publication date: 1-Jun-2019
  • (2017)Reusability of open source software across domainsJournal of Systems and Software10.1016/j.jss.2017.09.009134:C(211-227)Online publication date: 1-Dec-2017
  • (2016)Fuzzy retrieval for software reuseJournal of the Association for Information Science and Technology10.1002/asi.2358467:10(2454-2463)Online publication date: 1-Oct-2016
  • Show More Cited By

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media