Abstract
Repositories for software reuse are faced with two interrelated problems: (1) acquiring the knowledge to initially construct the repository and (2) modifying the repository to meet the evolving and dynamic needs of software development organizations. Current software repository methods rely heavily on classification, which exacerbates acquistition and evolution problems by requiring costly classification and domain analysis efforts before a repository can be used effectively, This article outlines an approach that avoids these problems by choosing a retrieval method that utilizes minimal repository structure to effectively support the process of finding software conponents. The approach is demonstrated through a pair of proof-of-concept prototypes: PEEL, a tool to semiautomatically identify reusable components, and CodeFinder, a retrieval system that compensates for the lack of explicit knowledge structures through a spreading activation retrieval process. CodeFinder also allows component representations to be modified while users are searching for information. This mechanism adapts to the changing nature of the information in the repository and incrementally improves the repository while people use it. The combination of these techniques holds potential for designing software repositories that minimize up-front costs, effectively support the search process, and evolve with an organization's changing needs.
- BARNES, B. H. AND BOLLINGER, T.B. 1991. Making reuse cost-effective. IEEE Softw. 8, 1, 13-24. Google Scholar
- BATORY, D., SINGHAL, V., THOMAS, J., DASARI, S., GERACI, B., AND SIRKIN, M. 1994. The GenVoca model of software-system generators. IEEE Softw. 11, 5, 89-94. Google Scholar
- BELEW, R.K. 1987. Adaptive information retrieval: Machine learning in associative networks. Ph.D. dissertation, Tech. Rep. 4, Univ. of Michigan, Ann Arbor, Mich. Google Scholar
- BELKIN, N. J. AND CROFT, W.B. 1987. Retrieval techniques. Ann. Rev. Inf. Sci. Tech. 22, 109-145. Google Scholar
- BELKIN, N. J. AND CROFT, W.B. 1992. Information filtering and information retrieval: Two sides of the Same Coin? Commun. ACM 35, 12 (Dec.), 29-38. Google Scholar
- BELKIN, N. J., ODDY, R. N., AND BROOKS, H.M. 1982a. Ask for information retrieval: Part 1. J. Doc. 38, 2, 61-71.Google Scholar
- BELKIN, N. J., ODDY, R. N., AND BROOKS, H.M. 1982b. Ask for information retrieval: Part 2. J. Doc. 38, 3, 145-163.Google Scholar
- BIGGERSTAFF, T.g. 1992. An assessment and analysis of software reuse. Adv. Comput. 34, 1-57.Google Scholar
- BIGGERSTAFF, T. J. AND RICHTER, C. 1987. Reusability framework, assessment, and directions. IEEE Softw. 4, 2, 41-49.Google Scholar
- BLACKSHAW, L. AND FISCHOFF, B. 1988. Decision making in online searching. J. Am. Soc. Inf. Sci. 39, 6, 369-389.Google Scholar
- BLAIR, D. C. AND MARON, M.E. 1985. An evaluation of retrieval effectiveness for a full-text document-retrieval system. Commun. ACM 28, 4 (Apr.), 289-299. Google Scholar
- BOOCH, G. 1987. Software Components with ADA. Benjaman Cummings, Menlo Park, Calif. Google Scholar
- BORGMAN, C.L. 1989. All users of information retrieval systems are not created equal: An exploration into individual differences. Inf. Process. Manage. 25, 3, 237-251. Google Scholar
- BRACHMAN, R. J., McGUINNESS, D. L., PATEL-SCHNEIDER, P. F., RESNICK, L. A., AND BORGIDA, A. 1991. Living with CLASSIC: When and how to use a KL-ONE-like language. In Principles of Semantic Networks: Explorations in the Representation of Knowledge, J. F. Sowa, Ed. Morgan Kaufmann, San Mateo, Calif., 401-456.Google Scholar
- BURTON, B. A., ARAGON, R. W., BAILEY, S. A., KOEHLER, K. D., AND MAYES, L.A. 1987. The reusable software library. IEEE Softw. 4, 4, 25-33.Google Scholar
- CALDIERA, G. AND BASILI, V.R. 1991. Identifying and qualifying reusable software components. Computer 24, 2, 61-70. Google Scholar
- CAMERON, D. AND ROSENBLATT, B. 1991. Learning GNU Emacs. O'Reilly and Assoc., Sebastopol, Calif. Google Scholar
- CHEN, P. S., HENNICKER, R., AND JARKE, M. 1993. On the retrieval of reusable software components. In Advances in Software Reuse (Proceedings of the 2nd International Workshop on Software Reusability). IEEE Computer Society Press, Los Alamitos, Calif., 99-108.Google Scholar
- CURTIS, B. 1989. Cognitive issues in reusing software artifacts. In Software Reusability. Vol. 2, Applications and Experience, T. J. Biggerstaff and A. J. Perlis, Eds. Addison-Wesley, Reading, Mass., 269-287. Google Scholar
- DEVANBU, P., BRACHMAN, R. J., SELFRIDGE, P. G., AND BALLARD, B. W. 1991. LASSIE: A knowledge-based software information system. Commun. ACM 34, 5 (May), 34-49. Google Scholar
- FISCHER, G. AND NIEPER-LEMKE, H. 1989. HELGON: Extending the retrieval by reformulation paradigm. In Human Factors in Computing Systems, CHI '89 Conference Proceedings. ACM, New York, 333-352. Google Scholar
- FISCHER, G., HENNINGER, S. R., AND REDMILES, D.F. 1991. Cognitive tools for locating and comprehending software objects for reuse. In the 13th International Conference on Software Engineering. ACM, New York, 318-328. Google Scholar
- FISCHER, G., MCCALL, R., OSTWALD, J., REEVES, B., AND SHIPMAN, F. 1994. Seeding, evolutionary growth and reseeding: Supporting the incremental development of design environments. In Proceeding of the Conference on Computer-Human Interaction (CHI '94). ACM, New York, 292-298. Google Scholar
- FOLTZ, P. W. AND KINTSCH, W. 1988. An empirical study of retrieval by reformulation on HELGON. Tech. Rep. 88-9, Inst. of Cognitive Science, Univ. of Colorado, Boulder, Colo.Google Scholar
- Fox, C. 1992. Lexical analysis and stoplists. In Information Retrieval: Data Structures and Algorithms, W. B. Frakes and R. Baeza-Yates, Eds. Prentice-Hall, Englewood Cliffs, N.J., 102-130. Google Scholar
- FRAKES, W. B. AND GANDEL, P.B. 1990. Representing reusable software. Inf. Softw. Tech. 32, 10, 653-664. Google Scholar
- FRAKES, W. B. AND NEJMEH, B.A. 1987. Software reuse through information retrieval. In The 20th Hawaii International Conference on System Sciences. IEEE Computer Society Press, Los Alamitos, Calif., 530-535.Google Scholar
- FRAKES, W. B. AND POLE, T. 1994. An empirical study of representation methods for reusable software components. IEEE Trans. Softw. Eng. 20, 8, 617-630. Google Scholar
- FURNAS, G.W. 1985. Experience with an adaptive indexing scheme. In Human Factors in Computing Systems, CHI '85 Conference Proceedings. ACM, New York, 131-135. Google Scholar
- FURNAS, G. W., LANDAUER, T. K., GOMEZ, L. M., AND DUMAIS, S.T. 1987. The vocabulary problem in human-system communication. Commun. ACM 30, 11 (Nov.), 964-971. Google Scholar
- GOMEZ, L. M., LOCHBAUM, C. C., AND LANDAUER, T.K. 1990. All the right words: Finding what you want as a function of richness of indexing vocabulary. J. Am. Soc. Inf. Sci. 41, 8, 547-559.Google Scholar
- HALASZ, F. G. 1988. Reflections on notecards: Seven issues for the next generation of hypermedia systems. Commun. ACM 31, 7 (July), 836-852. Google Scholar
- HARTER, S.P. 1992. Psychological relevance and information science. J. Am. Soc. Inf. Sci. 43, 9, 602-615.Google Scholar
- HENNINGER, S. 1994. Using iterative refinement to find reusable software. IEEE Softw. 11, 5. Google Scholar
- HENNINGER, S. 1995. Information access tools for software reuse. J. Syst. Softw. 30, 3, 231-247. Google Scholar
- HENNINGER, S., LAPPALA, K., AND RAGHAVENDRAN, A. 1995. An organizational learning approach to domain analysis. In the 17th International Conference on Software Engineering. ACM Press, New York, 95-104. Google Scholar
- HENNINGER, S. R. 1993. Locating relevant examples for example-based software design. Ph.D. dissertation, Univ. of Colorado, Boulder, Colo. Google Scholar
- KINTSCH, W. AND GREENO, J.G. 1985. Understanding and solving word arithmetic problems. Psychol. Rev. 92, 109-129.Google Scholar
- LAKOFF, G. 1987. Women, Fire, and Dangerous Things: What Categories Reveal about the Mind. The University of Chicago Press, Chicago, Ill.Google Scholar
- MAAREK, Y. S. AND SMADJA, F.A. 1989. Full text indexing based on lexical relations, an application: Software libraries. In Proceedings of SIGIR '89. ACM, New York, 198-206. Google Scholar
- MAAREK, Y. S., BERRY, D. M., AND KAISER, G.E. 1991. An information retrieval approach for automatically constructing software libraries. IEEE Trans. Softw. Eng. 17, 8, 800-813. Google Scholar
- MAIDEN, N. A. AND SUTCLIFFE, A. G. 1992. Exploiting reusable specifications through analogy. Commun. ACM 35, 4 (Apr.), 55-64. Google Scholar
- MCCLELLAND, g. L. AND RUMELHART, D.E. 1981. An interactive activation model of context effects in letter perception: Part 1: An account of basic findings. Psychol. Rev. 88, 5, 375-407.Google Scholar
- MOZER, M.C. 1984. Inductive information retrieval using parallel distributed computation. ICS Rep. 8406, Inst. for Cognitive Science, Univ. of California--San Diego, La Jolla, Calif.Google Scholar
- OSTERTAG, E., HENDLER, J., PRIETO-DiAZ, R., AND BRAUN, C. 1992. Computing similarity in a reuse library system: An AI-based approach. ACM Trans. Softw. Eng. Methodol. 1, 3, 205-228. Google Scholar
- PATEL-SCHNEIDER, P. F., BRACHMAN, R. J., AND LEVESQUE, H.J. 1984. ARGON: Knowledge representation meets information retrieval. In Proceedings of the 1st Conference on Artificial Intelligence Applications (CAIA '84). IEEE Computer Society Press, Los Alamitos, Calif., 280 -286.Google Scholar
- POULIN, g. S. AND CARUSO, g.M. 1993. A reuse metrics and return on investment model. In Advances in Software Reuse. IEEE Computer Society Press, Los Alamitos, Calif., 152-166.Google Scholar
- PRIETO-DiAz, R. 1985. A software classification scheme. Ph.D. dissertation, Tech. Rep. 85-19, Univ. of California--Irvine, Irvine, Calif. Google Scholar
- PRIETO-DiAz, R. 1991. Implementing faceted classification for software reuse. Commun. ACM 35, 5 (May). Google Scholar
- PRIETO-DiAz, R. AND ARANGO, G. 1991. Domain Analysis and Software Systems Modeling. IEEE Computer Society Press, Los Alamitos, Calif. Google Scholar
- PRIETO-DiAz, R. AND FREEMAN, P. 1987. Classifying software for reusability. IEEE Softw. 4, 1, 6-16.Google Scholar
- ROSE, D. E. AND BELEW, R.K. 1991. A connectionist and symbolic hybrid for improving legal research. Int. J. Man Mach. Stud. 35, 1, 1-33. Google Scholar
- SALTON, G. AND BUCKLEY, C. 1988. Term weighting approaches in automatic text retrieval. Inf. Process. Manage. 24, 3, 513-525. Google Scholar
- SALTON, G. AND BUCKLEY, C. 1990. Improving retrieval performance by relevance feedback. J. Am. Soc. Inf. Sci. 41, 4, 288-297.Google Scholar
- SALTON, G. AND MCGILL, M.J. 1983. Introduction to Modern Information Retrieval. McGraw Hill, New York. Google Scholar
- SHAW, M. AND GARLAN, D. 1996. Software Architecture: Perspectives on an Emerging Domain. Prentice-Hall, Englewood Cliffs, N.J. Google Scholar
- SIMOS, M., CREPS, D., KLINGER, C., AND LEVINE, L. 1995. Organization domain modeling (ODM) guidebook. STARS-VC-A023/011/00, Unisys Corp., Reston, Va. Google Scholar
- SMOLENSKY, P. 1988. On the proper treatment ofconnectionism. Behav. Brain Sci. 11, 1-23.Google Scholar
- SOMMERVILLE, I. AND WOOD, M. 1986. A software components catalogue. In Intelligent Information Systems: Progress and Prospects. R. Davies, Ed. Ellis Horwood Limited, Chichester, U.K., 13-32.Google Scholar
- SPARCK-JONES, K. 1972. A statistical interpretation of term specificity and its application in retrieval. J. Doc. 28, 1, 11-21.Google Scholar
- SPARCK-JONES, K. 1973. Index term weighting. Inf. Storage Retriev. 9, 619-633.Google Scholar
- STALLMAN, R. M. 1981. EMACS, the Extensible, Customizable, Self-Documenting Display Editor. ACM SIGOA Newslett. 1, 1/2, 147-156. Google Scholar
- THOMPSON, Z. H. AND CROFT, W. B. 1989. Support for browsing in an intelligent text retrieval system. Int. J. Man Mach. Stud. 30, 639-668. Google Scholar
- WALZ, D. B., ELAM, J. J., AND CURTIS, B. 1993. Inside a software design team: Knowledge acquisition, sharing, and integration. Commun. ACM 36, 10 (Oct.), 62-77. Google Scholar
- WIEDERHOLD, G., WEGNER, P., AND CERI, S. 1992. Toward megaprogramming. Commun. ACM 35, 11 (Nov.), 89-99. Google Scholar
- WILLIAMS, M.D. 1984. What makes RABBIT run? Int. J. Man Mach. Stud. 21,333-352. Google Scholar
- WIRFS-BROCK, R. J. AND JOHNSON, R.E. 1990. Surveying current research in object-oriented design. Commun. ACM 33, 9 (Sept.), 105-124. Google Scholar
Index Terms
- An evolutionary approach to constructing effective software reuse repositories
Recommendations
Forty years of software reuse
Forty years of software reuseThis paper is an overview of software reuse, its origins, research areas and main historical contributions. Reuse as the process of using existing software artefacts and knowledge has more than 40-year long history, and is ...
Software reuse
Software reuse is the process of creating software systems from existing software rather than building software systems from scratch. This simple yet powerful vision was introduced in 1968. Software reuse has, however, failed to become a standard ...
Relevancy based semantic interoperation of reuse repositories
SIGSOFT '04/FSE-12: Proceedings of the 12th ACM SIGSOFT twelfth international symposium on Foundations of software engineeringSoftware reuse is a promising solution to the software crisis. Reuse repositories are the basic infrastructure for software reuse. During the past decade, various academic, commercial, governmental, and industrial organizations have developed many ...
Comments