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

skip to main content
article

A survey of software reuse libraries

Published: 11 January 1998 Publication History

Abstract

The study of storage and retrieval methods of software assets in software libraries gives rise to a number of paradoxes: While this subject has been under investigation for nearly two decades, it still remains an active area of research in software reuse and software engineering; this can be explained by the observation that new technologies (such as the internet, the world wide web, objectýoriented programming) keep opening new opportunities for better asset packaging, better library organizations, and larger scale libraries – thereby posing new technical challenges. Also, while many sophisticated solutions have been proposed to this problem, the state of the practice in software reuse is characterized by the use of adýhoc, lowýtech methods; this can be explained by the observation that most existing solutions are either too ineffective to be useful or too intractable to be usable. Finally, while it is difficult to imagine a successful software reuse program without a sophisticated, wellýtuned, systematic procedure for software component storage and retrieval, it seems many successful software reuse experiments rely on trivial methods of component storage and retrieval; this can be explained by the observation that, in the current state of the practice, software libraries are not the bottleneck of the software reuse process. This paper presents a survey of methods of storage and retrieval of software assets in software libraries. In addition to a review of existing research efforts, the paper makes two contributions. First, a definition of (presumably) orthogonal attributes of storage and retrieval methods; these attributes are used, in turn, to classify existing methods into six broad classes. Second, a definition of (presumably) orthogonal assessment criteria, which include technical, managerial and human factors; these criteria afford us an exhaustive and uniform basis for assessing and comparing individual methods and classes of methods.

References

[1]
Allemang, D. T. (1990), "Understanding Programs as Devices," PhD Thesis, Ohio State University, Columbus, OH.
[2]
Allemang, D. T. (1991), "Use of Functional Models in the Domain of Automatic Debugging," IEEE Expert 6 , 6, 13-18.
[3]
ASSET (1993), "ASSET Submittal Guidelines," Technical Report SAIC-92/7625-00, version 1.2, SAIC/ ASSET, Morgantown, WV, December 1993.
[4]
Atkinson, S. (1996), "A Formal Model for Integrated Retrieval from Software Libraries," In Technology of Object-Oriented Languages and Systems: TOOLS 21 , Prentice-Hall, Englewood Cliffs, NJ.
[5]
Atkinson, S. and R. Duke (1994), "A Methodology for Behavioral Retrieval from Class Libraries," Australian Computer Science Communications 17 , 1, 13-20.
[6]
Badaro, N. and T. Moineau (1991), "ROSE-Ada: A Method and a Tool to Help Reuse Ada Code," In Proceedings of the Ada: The Choice for '92 , LNCS 499, Springer, Berlin, Germany, 1991.
[7]
Boehm, B. W. (1981), Software Engineering Economics , Prentice-Hall, Englewood Cliffs, NJ.
[8]
Boerstler, J. (1995), "Feature Oriented Classification for Software Reuse," In Proceedings of the 7th International Conference on Software Engineering and Knowledge Engineering , SEKE '95, KSI Knowledge Systems Institute, Skokie, IL, pp. 204-211.
[9]
Booch, G. (1994), Object-Oriented Analysis and Design with Applications , Benjamin/Cummings Publishing Company, Redwood City, CA.
[10]
Boudriga, N., A. Mili and R. T. Mittermeir (1992), "Semantic-Based Software Retrieval to Support Rapid Prototyping," Structured Programming 13 , 109-127.
[11]
Boudriga, N., A. Mili and R. Zalila (1992a), "An Automated Tool for Specification Validation: Design and Preliminary Implementation," In Proceedings of the 25th Hawaii International Conference on System Sciences , IEEE Computer Society Press, Los Alamitos, CA, pp. 74-82.
[12]
Boudriga, N., A. Mili, R. Zalila and F. Mili (1992b), "A Relational Model for the Specification of Data Types," Computer Languages 17 , 2, 101-131.
[13]
Brooks, F. P. (1987), "No Silver Bullet: Essence and Accidents of Software Engineering," IEEE Computer Magazine 20 , 4, 10-19.
[14]
Browne, S. V. and J. W. Moore (1997), "Reuse Library Interoperability and the World Wide Web," In Proceedings of the ACM SIGSOFT Symposium on Software Reusability , SSR '97, ACM Software Engineering Notes 22 , 3, 182-189.
[15]
Castano, S., V. De Antonellis and B. Pernici (1996), "Criteria and Metrics for Quantifying Similarity Factors," In Information Processing and Management of Uncertainty in Knowledge-Based Systems, Proceedings of the 6th IPMU '96 , Volume III, Universidad de Granada, Granada, Spain, pp. 1091- 1097.
[16]
Celentano, A., M. G. Fugini and S. Pozzi (1995), "Knowledge-Based Document Retrieval in Office Environments: The Kabiria System," ACM Transactions on Information Systems 13 , 3, 237-268.
[17]
Chen, Y. and B. Cheng (1997), "Facilitating an Automated Approach to Architecture-Based Software Reuse," In Proceedings of the 12th IEEE International Automated Software Engineering Conference , IEEE Computer Society Press, Los Alamitos, CA, pp. 238-246.
[18]
Cheng, B. H. C. and J. J. Jeng (1992a), "Formal Methods Applied to Reuse," In Proceedings of the 5th Annual Workshop on Software Reuse , WISR-5, Palo Alto, CA, ftp://gandalf.umcs.maine. edu/pub/WISR/wisr5/proceedings/.
[19]
Cheng, B. H. C. and J. J. Jeng (1992b), "Reusing Analogous Components," In Proceedings of the IEEE International Conference on Tools with AI , IEEE Computer Society Press, Los Alamitos, CA.
[20]
Chou, C. S., J. Y. Chen and C. G. Chung (1996), "A Behavior-Based Classification and Retrieval Technique for Object-Oriented Specification Reuse," Software - Practice and Experience 26 , 7, 815-832.
[21]
Clifton, C. and W.-S. Li (1995), "Classifying Software Components Using Desgn Characteristics," In Proceedings of the 10th Knowledge-Based Software Engineering Conference , KBSE '95, IEEE Computer Society Press, Los Alamitos, CA, pp. 139-146.
[22]
Constantopoulos, P., M. Doerr and Y. Vassiliou (1993), "Repositories for Software Reuse: The Software Information Base," In Information System Development Process , N. Prakash, C. Rolland and B. Pernici, Eds., North-Holland, Amsterdam, The Netherlands.
[23]
Devanbu, P., R. Brachman, P. Selfridge and B. Ballard (1991), "Lassie: A Knowledge-Based Software Information System," Communications of the ACM 34 , 5, 34-39.
[24]
Eden, A., A. Yehudai and J. Gil (1997), "Precise Specification and Automatic Application of Design Patterns," In Proceedings of the 12th IEEE International Automated Software Engineering Conference , IEEE Computer Society Press, Los Alamitos, CA, pp. 143-152.
[25]
Faison, T. (1997), "Interactive Component-Based Software Development with Expresso," In Proceedings of the 12th IEEE International Automated Software Engineering Conference , IEEE Computer Society Press, Los Alamitos, CA, pp. 293-294.
[26]
Faloutsos, C. (1985), "Access Methods for Text," ACM Computing Surveys 17 , 1, 49-74.
[27]
Faustle, S., M. G. Fugini and E. Damiani (1996), "Retrieval of Reusable Components using Functional Similarity," Software Practice and Experience 26 , 5, 491-530.
[28]
Fickas, S. (1997), "Workshop Software on Demand: Issues for Requirements Engineering," In Proceedings of the 3rd IEEE International Symposium on Requirements Engineering , RE '97, IEEE Computer Society Press, Los Alamitos, CA, pp. 222-223.
[29]
Fischer, B., M. Kievernagel and G. Snelting (1995), "Deduction-Based Software Component Retrieval," In Proceedings of the IJCAI Workshop on Reuse of Proofs, Plans and Programs , German Research Center for Artificial Intelligence, Saarbrücken, Germany, pp. 6-10.
[30]
Flener, P., K. Lau and M. Ornaghi (1997), "Correct-Schema-Guided Synthesis of Steadfast Programs," In Proceedings of the 12th IEEE International Automated Software Engineering Conference , IEEE Computer Society Press, Los Alamitos, CA, pp. 153-160.
[31]
Frakes, W. B. (1991), "Software Reuse: Payoff and Transfer," In Proceedings of the 8th AIAA Computing in Aerospace Conference , Baltimore, MD, pp. 829-831.
[32]
Frakes, W. B. (1992), "Introduction to Information Storage and Retrieval Systems," In Information Retrieval: Data Structures and Algorithms , W. B. Frakes and R. Baeza-Yates, Eds., Prentice-Hall, Upper Saddle River, NJ, Chapter 1, pp. 1-12.
[33]
Frakes, W. B. and R. Baeza-Yates, Eds. (1992), Information Retrieval: Data Structures and Algorithms , Prentice-Hall, Upper Saddle River, NJ.
[34]
Frakes, W. B. and C. J. Fox (1993), "Software Reuse Survey Report," Technical Report, Software Engineering Guild, Sterling, VA.
[35]
Frakes, W. B. and P. B. Gandel (1990), "Representing Reusable Software," Information and Software Technology 32 , 10, 653-664.
[36]
Frakes, W. B. and B. A. Nejmeh (1987a), "An Information System for Software Reuse," In Proceedings of the 10th Minnowbrook Workshop on Software Reuse , Syracuse University, Minnowbrook, NY.
[37]
Frakes, W. B. and B. A. Nejmeh (1987b), "Software Reuse Through Information Retrieval," In Proceedings of the 20th Annual Hawaii International Conference on System Sciences , IEEE Computer Society Press, Los Alamitos, CA, pp. 530-535.
[38]
Frakes, W. B. and T. P. Pole (1990), "Proteus: A Reuse Library Systems that Supports Multiple Representation Methods," ACM SIGIR Forum 24 , 43-55.
[39]
Frakes, W. B. and T. P. Pole (1994), "An Empirical Study of Representation Methods for Reusable Software Components," IEEE Transactions on Software Engineering 20 , 8, 617-630.
[40]
Gaudel, M. C. and Th. Moineau (1988), "A Theory of Software Reusability," In Proceedings of the 2nd European Symposium on Programming, ESOP '88 , LNCS 300, Springer, Berlin, Germany, pp. 115- 130.
[41]
Girardi, M. R. (1995), "Classification and Retrieval of Software through Their Description in Natural Language," Technical Report 2782, University of Geneva, Geneva, Switzerland.
[42]
Girardi, R. and B. Ibrahim (1994a), "Automatic Indexing of Software Artifacts," In Proceedings of the 3rd International Conference on Software Reuse , IEEE Computer Society Press, Los Alamitos, CA, pp. 24-32.
[43]
Girardi, R. and B. Ibrahim (1994b), "A Similarity Measure for Retrieving Software Artifacts," In Proceedings of the 6th International Conference on Software Engineering and Knowledge Engineering , SEKE '94, Knowledge Systems Institute, Skokie, IL, pp. 89-100.
[44]
Gomaa, H. and G. Farrukh (1997), "Automated Configuration of Distributed Applications from Reusable Software Architectures," In Proceedings of the 12th IEEE International Automated Software Engineering Conference , IEEE Computer Society Press, Los Alamitos, CA, pp. 193-200.
[45]
Gomez, H. (1997), "A Cognitive Approach to Software Reuse Applying Case-Based Reasoning to Mutant Cases," In Proceedings of the 9th International Conference on Software Engineering and Knowledge Engineering , SEKE '97, Knowledge Systems Institute, Skokie, IL, pp. 512-519.
[46]
Gonzalez, P. A. and C. Fernandez (1997), "A Knowledge-Based Approach to Support Software Reuse in Object-Oriented Libraries," In Proceedings of the 9th International Conference on Software Engineering and Knowledge Engineering , SEKE '97, Knowledge Systems Institute, Skokie, IL, pp. 520-527.
[47]
Guttag, J., J. J. Horning and J. M. Wing (1985), "The Larch Family of Specification Languages," IEEE Software 2 , 5, 24-36.
[48]
Hall, R. J. (1993), "Generalized Behaviour-Based Retrieval," In Proceedings of the 15th International Conference on Software Engineering , IEEE Computer Society Press, Los Alamitos, CA.
[49]
Helm, R. and Y. S. Maarek (1991), "Integrating Information Retrieval and Domain Specific Approaches for Browsing and Retrieval in Object-Oriented Class Libraries," In Proceedings of the OOPSLA '91, SigPlan Notices 26 , 11, 47-61.
[50]
Hoare, C. A. R. (1969), "An Axiomatic Basis for Computer Programming," Communications of the ACM 12 , 10, 576-583.
[51]
Hochmüller, E. (1992), "AUGUSTA - Eine Reuse-Orientierte Software-Entwicklungsumgebung zur Erstellung von Ada-Applikationen," PhD Thesis, Universität Klagenfurt, Klagenfurt, Austria.
[52]
Ihrig, L. and S. Kambhampati (1995), "Automatic Storage and Indexing of Plan Derivations Based on Replay Failures," In Proceedings of the IJCAI Workshop on Reuse of Proofs, Plans and Programs , German Research Center for Artificial Intelligence, Saarbrücken, Germany.
[53]
Isakowitz, T. and R. J. Kauffman (1996), "Supporting Search for Reusable Software Objects," IEEE Transactions on Software Engineering 22 , 6, 407-423.
[54]
Ithaca (1993), "Integrated Toolkit for Highly Advanced Computer Applications," Technical Report 2705, EEC-Esprit II Project.
[55]
Jeng, J. J. and B. C. H. Cheng (1995), "Specification Matching for Software Reuse: A Foundation," In Proceedings of the ACM SIGSOFT Symposium on Software Reuse , SSR '95, ACM Press, New York, NY, pp. 97-105.
[56]
Jilani, L. L., R. Mili, M. Frappier, J. Desharnais and A. Mili (1997a), "Retrieving Software Components That Minimize Adaptation Effort," In Proceedings of the 12th IEEE International Automated Software Engineering Conference , ASE '97, IEEE Computer Society Press, Los Alamitos, CA, pp. 255-262.
[57]
Jilani, L. L., R. Mili and A. Mili (1997b), "Approximate Retrieval: An Academic Exercise or a Practical Concern?" In Proceedings of the 8th Annual Workshop on Software Reuse (WISR-8) , ftp://gandalf.umcs.maine.edu/pub/WISR/wisr8/proceedings/.
[58]
Kaplan, S. M. and Y. S. Maarek (1990), "Incremental Maintenance of Semantic Links in Dynamically Changing Hypertext Systems," Interacting with Computers 2 , 3.
[59]
Karlsson, E.-A. (1995), Software Reuse - A Holistic Approach , Wiley, Chichester, West Sussex, UK.
[60]
Khoshgoftaar, T. M., K. Ganesan, E. B. Allen, F. D. Ross, R. Munikoti, N. Goel and A. Nandi (1997), "Predicting Fault Prone Modules with Case-Based Reasoning," In Proceedings of the 8th International Symposium on Software Reliability Engineering , IEEE Computer Society Press, Los Alamitos, CA.
[61]
Kolbe, T. and Ch. Walther (1995), "Proof Management and Retrieval," In Proceedings of the IJCAI Workshop on Reuse of Proofs, Plans and Programs , IEEE Computer Society Press, Los Alamitos, CA.
[62]
Koubarakis, M. (1989), "TELOS: Features and Formalization," Technical Report KRR-TR-89-1, University of Toronto, Toronto, Ontario, Canada.
[63]
Krueger, Ch. W. (1992), "Software Reuse," ACM Computing Surveys 24 , 2, 131-183.
[64]
Liver, B. (1996), "A Functional Model of Software and Its Application in Troubleshooting, Design, and Reuse," PhD Thesis, EPFL Lausanne, Lausanne, Switzerland.
[65]
Liver, B. (1997), "Introduction to Reasoning about Functions for Design Patterns and Modules," In Proceedings of the 9th International Conference on Software Engineering and Knowledge Engineering , SEKE '97, Knowledge Systems Institute, Skokie, IL, pp. 148-157.
[66]
Lucarella, D. and A. Zanzi (1996), "A Visual Retrieval Environment for Hypermedia Information Systems," ACM Transactions on Information Systems 14 , 1, 3-29.
[67]
Lung, C.-H. and J. E. Urban (1995), "An Approach to the Classification of Domain Models in Support of Analogical Reuse," In Proceedings of the ACM SigSoft Symposium on Software Reusability , SSR '95, ACM Press, New York, NY, pp. 169-178.
[68]
Maarek, Y. S. and D. M. Berry (1989), "The Use of Lexical Affinities in Requirements Extraction," In Proceedings of the 5th International Workshop on Software Specification and Design , IWSSD-5, IEEE Computer Society Press, Los Alamitos, CA, pp. 196-202.
[69]
Maarek, Y. S., D. M. Berry and G. E. Kaiser (1991), "An Information Retrieval Approach for Automatically Constructing Software Libraries," IEEE Transactions on Software Engineering 17 , 8, 800-813.
[70]
Maiden, N. A. M., P. Mistry and A. G. Sutcliffe (1995), "How People Categorise Requirements for Reuse: A Natural Approach," In Proceedings of the 2nd IEEE International Symposium on Requirements Engineering , RE '95, IEEE Computer Society Press, Los Alamitos, CA, pp. 148-155.
[71]
Maiden, N. A. M. and A. G. Sutcliffe (1992), "Exploiting Reusable Specifications Through Analogy," Communications of the ACM 35 , 4, 55-64.
[72]
Maiden, N. A. M. and A. G. Sutcliffe (1993), "Requirements Engineering by Example," In Proceedings of the 1st International Symposium on Requirements Engineering , RE '93, IEEE Computer Society Press, Los Alamitos, CA, pp. 104-112.
[73]
Massonet, P. and A. V. Lamsweerde (1997), "Analogical Reuse of Requirements Frameworks," In Proceedings of the 3rd IEEE International Symposium on Requirements Engineering , RE '97, IEEE Computer Society Press, Los Alamitos, CA, pp. 26-37.
[74]
Matsumoto, Y. (1993), "A Software Factory: An Overall Approach to Software Production," In Proceedings of the ITT Workshop on Reusability in Programming , IEEE Computer Society Press, Newport, RI, reprinted in: Tutorial Software Reusability , P. Freeman, Ed.
[75]
McCune, W. (1994), Otter3.0 Reference Manual and Guide , ARGONE National Laboratory: Mathematics and Computer Science Division.
[76]
Mili, H., E. AhKi, R. Godin and H. Mcheick (1997), "Another Nail to the Coffin of Faceted Controlled-Vocabulary Component Classification and Retrieval," In Proceedings of the Symposium on Software Reusability, SSR '97, ACM Software Engineering Notes 22 , 3, 89-98.
[77]
Mili, H., F. Mili and A. Mili (1995), "Reusing Software: Issues and Research Directions," IEEE Transactions on Software Engineering 21 , 6, 528-562.
[78]
Mili, R. (1996), "Assessing the Reuse Worthiness of a Component: Empirical and Analytical Approaches," Technical Report, Department of Computer Science, University of Ottawa, Ottawa, Ontario, Canada.
[79]
Mili, A., R. Mili and R. Mittermeir (1994), "Storing and Retrieving Software Component: A Refinement-Based Approach," In Proceedings of the 16th International Conference on Software Engineering , IEEE Computer Society Press, Los Alamitos, CA, pp. 91-100.
[80]
Mittermeir, R. T. (1998), "Hypertext: Werkzeug? - Denkzeug?" In Electronic Networking and the Philosophy of Culture , Ch. Nyiri and P. Fleissner, Eds., Studienverlag, Innsbruck, Austria.
[81]
Mittermeir, R. T. and W. Rossak (1987), "Software Bases and Software Archives, Alternatives to Support Software Reuse," In Proceedings of the Fall Joint Computer Conference '87 , IEEE Computer Society Press, Los Alamitos, CA, pp. 21-28.
[82]
Mittermeir, R. T. and W. Rossak (1990), "Reusability," In Modern Software Engineering , P. N. Peter and R. T. Yeh, Eds., Van Nostrand Reinhold, New York, NY, pp. 205-235.
[83]
Mittermeir, R. T. and L. Wuerfl (1995), "Abstract Visualization of Software: A Basis for a Complex Hash-Key," In Advances in Intelligent Computing , B. Bouchon-Meunier, R. R. Yager and L. A. Zadeh, Eds., LNCS 945, Springer, Berlin, Germany, pp. 545-554.
[84]
Moineau, T. and M. C. Gaudel (1991), "Software Reusability through Formal Specifications," In Proceedings of the First International Workshop on Software Reusability , SWT Memo Nr. 57, Universität Dortmund, Dortmund, Germany, pp. 202-212.
[85]
Nelson, M. L. and T. Poulis (1995), "The Class Storage and Retrieval System: Enhancing Reusability in Object-Oriented Systems," ACM OOPS Messenger 6 , 2, 28-36.
[86]
Ogden, W. F., M. Sitaraman, B. W. Weide and S. H. Zweben (1994), "The RESOLVE Framework and Discipline - A Research Synopsis," ACM Software Engineering Notes 19 , 4, 23-28.
[87]
Ostertag, E., J. Hendler, R. Prieto-Diaz and C. Braun (1992), "Computing Similarity in a Reuse Library System: An AI-Based Approach," ACM Transactions on Software Engineering and Methodology 1 , 3, 205-228.
[88]
Park, Y. and P. Bai (1997), "Generating Samples for Component Retrieval by Execution," Technical Report, University of Windsor, Windsor, Ontario, Canada.
[89]
Paul, S. and A. Prakash (1994), "A Framework for Source Code Search Using Program Patterns," IEEE Transactions on Software Engineering SE-20 , 6, 462-475.
[90]
Penix, J. and P. Alexander (1995), "Design Representation for Automating Software Component Reuse," In Proceedings of the 1st International Workshop on Knowledge Based Systems for the (Re)Use of Software Libraries , INRIA, Sophia Antipolis, France.
[91]
Penix, J. and P. Alexander (1996), "Efficient Specification Based Component Retrieval," Technical Report, Knowledge Based Software Engineering Laboratory, Department of Electrical and Computer Engineering, University of Cincinnati, Cincinnati, OH.
[92]
Penix, J., P. Alexander and K. Havelund (1997), "Declarative Specification of Software Architectures," In Proceedings of the 12th IEEE International Automated Software Engineering Conference , IEEE Computer Society Press, Los Alamitos, CA, pp. 201-208.
[93]
Perry, D. E. (1989), "The Inscape Environment," In Proceedings of the 11th International Conference on Software Engineering , IEEE Computer Society Press, Los Alamitos, CA, pp. 2-12.
[94]
Perry, D. E. and S. S. Popovich (1993), "Inquire: Predicate-Based Use and Reuse," In Proceedings of the 8th Knowledge Based Software Engineering Conference , KBSE '93, IEEE Computer Society Press, Los Alamitos, CA, pp. 144-151.
[95]
Podgurski, A. and L. Pierce (1992), "Behaviour Sampling: A Technique for Automated Retrieval of Reusable Components," In Proceedings of the 14th International Conference on Software Engineering , ACM Press, New York, NY, pp. 300-304.
[96]
Podgurski, A. and L. Pierce (1993), "Retrieving Reusable Software by Sampling Behavior," ACM Transactions on Software Engineering and Methodology 2 , 3, 286-303.
[97]
Potts, C. and W. C. Newstetter (1997), "Naturalistic Inquiry and Requirements Engineering: Reconciling Their Theoretical Foundations," In Proceedings of the 3rd IEEE International Symposium on Requirements Engineering , RE '97, IEEE Computer Society Press, Los Alamitos, CA, pp. 118-127.
[98]
Poulin, J. and K. J. Werkman (1995), "Melding Structured Abstracts and the World Wide Web for Retrieval of Reusable Components," In Proceedings of the ACM SIGSOFT Symposium on Software Reuse , SSR '95, ACM Press, New York, NY, pp. 160-168.
[99]
Prieto-Diaz, R. (1985), "A Software Classification Scheme," PhD Thesis, Department of Computer and Information Science, University of California at Irvine, Irvine, CA.
[100]
Prieto-Diaz, R. (1990), "Classification of Reusable Modules," In Software Reusability, Volume I: Concepts and Models , T. J. Biggerstaff and A. J. Perlis, Eds., Frontier Series, ACM Press/Addison-Wesley, Reading, MA.
[101]
Prieto-Diaz, R. (1991), "Implementing Faceted Classification for Software Reuse," Communications of the ACM 34 , 5, 88-97.
[102]
Prieto-Diaz, R. and P. Freeman (1987), "Classifying Software for Reusability," IEEE Software 4 , 1, 6-16.
[103]
Reubenstein, H. B. and R. C. Waters (1991), "The Requirements' Apprentice: Automated Assistance for Requirements Acquisition," IEEE Transactions on Software Engineering 17 , 3, 226-240.
[104]
Rich, C. and H. E. Schrobe (1976), "An Initial Report on Lisp's Programmer's Apprentice," Technical Report MIT/AI/TR-354, Massachusetts Institute of Technology, Cambridge, MA.
[105]
Rich, C. and H. E. Schrobe (1978), "An Initial Report on Lisp's Programmer's Apprentice," IEEE Transactions on Software Engineering 4 , 11.
[106]
Rich, C. and R. C. Waters (1988), "The Programmer's Apprentice: A Research Overview," IEEE Computer 21 , 11, 10-25.
[107]
Rich, C. and R. C. Waters (1990), The Programmer's Apprentice , Frontier Series, ACM Press/Addison-Wesley, Reading, MA.
[108]
Rittri, M. (1989), "Using Types as Search Keys in Function Libraries," The Journal of Functional Programming 1 , 1.
[109]
Rittri, M. (1992), "Retrieving Library Identifiers via Equational Matching of Types," Technical Report 65, Programming Methodology Group, Department of Computer Science, Chalmers University of Technology and University of Geteborg, Geteborg, Sweden.
[110]
Rollins, E. J. and J. Wing (1991), "Specifications as Search Keys for Software Libraries," In Proceedings of the 8th International Conference on Logic Programming , ICLP '91, MIT Press, Cambridge, MA, pp. 173-187.
[111]
Rossak, W. and R. T. Mittermeir (1989), "A DBMS-Based Repository for Reusable Software Components," In Proceedings of the 2nd International Workshop Software Engineering and Its Applications , EC2, Toulouse, France, pp. 501-518.
[112]
Rosson, M. B. and J. M. Carrol (1996), "The Reuse of Uses in Smalltalk Programming," ACM Transactions on Computer-Human Interaction 3 , 3, 219-253.
[113]
Runciman, C. and I. Toyn (1989), "Retrieving Reusable Software Components by Polymorphic Type," In Proceedings of the 4th International Conference on Functional Programming Languages and Computer Architectures , ACM Press, New York, NY, pp. 166-173.
[114]
Salton, G. (1975), Information and Library Processing , Prentice-Hall, Englewood Cliffs, NJ.
[115]
Salton, G. and M. J. McGill (1983), Introduction to Modern Information Retrieval , McGraw-Hill, New York, NY.
[116]
Schumann, J. and B. Fischer (1997), "NORA/HAMMR: Making Deduction-Based Software Component Retrieval Practical," In Proceedings of the 12th IEEE International Automated Software Engineering Conference , IEEE Computer Society Press, Los Alamitos, CA, pp. 246-254.
[117]
Spanoudakis, G. and P. Constantopoulos (1993), "Similarity for Analogical Software Reuse: A Conceptual Modelling Approach," In Proceedings of the CAiSE '93 , LNCS 685, Springer, Berlin, Germany.
[118]
Spanoudakis, G. and P. Constantopoulos (1994), "Measuring Similarity between Software Artifacts," In Proceedings of the 6th International Conference on Software Engineering and Knowledge Engineering , SEKE '94, Knowledge Systems Institute, Skokie, IL.
[119]
Steigerwald, R. A. (1992), "Reusable Component Retrieval with Formal Specifications," In <i&gt;Proceedings of the 5th Annual Workshop on Software Reuse, WISR-5, Palo Alto, CA, ftp://gandalf.umcs. maine.edu/pub/WISR/wisr5/proceedings/.
[120]
Sutcliffe, A. G. and N. A. M. Maiden (1994), "Domain Modeling for Reuse," In Proceedings of the 3rd International Conference on Software Reuse , IEEE Computer Society Press, Los Alamitos, CA, pp. 169- 177.
[121]
Talens, G., D. Boulanger, I. Dedun and S. Commeau (1997), "A Proposal of Retrieval and Classification Method for a Case Library Reuse," In Proceedings of the 9th International Conference on Software Engineering and Knowledge Engineering , SEKE '97, Knowledge Systems Institute, Skokie, IL, pp. 502-511.
[122]
Tracz, W. (1988), "Software Reuse Myths," ACM Software Engineering Notes 13 , 1, 38-43.
[123]
Van Rijsbergen, C. J. (1979), Information Retrieval , 2nd Edition, Butterworth and Co., London, UK.
[124]
Waters, R. C. (1981), "The Programmer's Apprentice: A Session with KBEmacs," IEEE Transactions on Software Engineering 7 , 11, 1296-1320.
[125]
Waters, R. C. (1982), "The Programmer's Apprentice: Knowledge-Based Program Editing," IEEE Transactions on Software Engineering 8 , 1, 1-12.
[126]
Wood, M. and I. Sommerville (1988), "An Information System for Software Components," ACM SIGIR Forum 22 , 3, 11-25.
[127]
Zaremski, A. M. and J. M. Wing (1993), "Signature Matching: A Key to Reuse," In Proceedings of the SIGSOFT '93: ACM SIGSOFT Symposium on the Foundations of Software Engineering, Software Engineering Notes 18 , 5, 182-190.
[128]
Zaremski, A. M. and J. M. Wing (1995a), "Signature Matching: A Tool for Using Software Libraries," ACM Transactions on Software Engineering and Methodology 4 , 2, 146-170.
[129]
Zaremski, A. M. and J. M. Wing (1995b), "Specification Matching of Software Components," In Proceedings of the SIGSOFT '95: 3rd ACM SIGSOFT Symposium on the Foundations of Software Engineering, Software Engineering Notes 20 , 4, 6-17.

Cited By

View all
  • (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
  • (2019)Reusability in Artificial Neural NetworksProceedings of the 23rd International Systems and Software Product Line Conference - Volume B10.1145/3307630.3342419(122-129)Online publication date: 9-Sep-2019
  • (2019)A formal framework for measuring technical lag in component repositories — and its application to npmJournal of Software: Evolution and Process10.1002/smr.215731:8Online publication date: 20-Aug-2019
  • Show More Cited By
  1. A survey of software reuse libraries

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image Annals of Software Engineering
    Annals of Software Engineering  Volume 5, Issue 1
    1998
    408 pages

    Publisher

    J. C. Baltzer AG, Science Publishers

    United States

    Publication History

    Published: 11 January 1998

    Qualifiers

    • Article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)0
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 01 Jan 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (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
    • (2019)Reusability in Artificial Neural NetworksProceedings of the 23rd International Systems and Software Product Line Conference - Volume B10.1145/3307630.3342419(122-129)Online publication date: 9-Sep-2019
    • (2019)A formal framework for measuring technical lag in component repositories — and its application to npmJournal of Software: Evolution and Process10.1002/smr.215731:8Online publication date: 20-Aug-2019
    • (2016)Comparing reuse practices in two large software-producing companiesJournal of Systems and Software10.1016/j.jss.2016.03.067117:C(545-582)Online publication date: 1-Jul-2016
    • (2015)An enhanced graph-based infrastructure for software search enginesProceedings of the 12th Working Conference on Mining Software Repositories10.5555/2820518.2820568(386-390)Online publication date: 16-May-2015
    • (2015)Automatic Detection and Resolution of Lexical Ambiguity in Process ModelsIEEE Transactions on Software Engineering10.1109/TSE.2015.239689541:6(526-544)Online publication date: 1-Jun-2015
    • (2015)Comparing development approaches and reuse strategiesInformation and Software Technology10.1016/j.infsof.2015.01.00261:C(71-92)Online publication date: 1-May-2015
    • (2015)Reuse in model-to-model transformation languagesSoftware and Systems Modeling (SoSyM)10.1007/s10270-013-0343-714:2(537-572)Online publication date: 1-May-2015
    • (2014)Analysis and Evaluation of Software Artifact Reuse EnvironmentsInternational Journal of Software Innovation10.4018/ijsi.20140401042:2(54-65)Online publication date: 1-Apr-2014
    • (2013)Self-adaptive containersProceedings of the 8th International Symposium on Software Engineering for Adaptive and Self-Managing Systems10.5555/2663546.2663567(123-132)Online publication date: 20-May-2013
    • Show More Cited By

    View Options

    View options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media