Issue No. 05 - September/October (1994 vol. 11)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/52.311059
<p>Component libraries are the dominant paradigm for software reuse, but they suffer from a lack of tools that support the problem-solving process of locating relevant components. Most retrieval tools assume that retrieval is a simple matter of matching well-formed queries to a repository. But forming queries can be difficult. A designer's understanding of the problem evolves while searching for a component, and large repositories often use an esoteric vocabulary. CodeFinder is a retrieval system that combines retrieval by reformulation (which supports incremental query construction) and spreading activation (which retrieves items related to the query) to help users find information. I designed it to investigate the hypothesis that this design makes for a more effective retrieval system. My study confirmed that it was more helpful to users seeking relevant information with ill-defined tasks and vocabulary mismatches than other query systems. The study supports the hypothesis that combining techniques effectively satisfies the kind of information needs typically encountered in software design.</p>
software reusability; subroutines; factographic databases; information retrieval; software tools; reusable software; component libraries; software reuse; problem-solving process; retrieval tools; CodeFinder; retrieval system; reformulation; incremental query construction; spreading activation; software design
S. Henninger, "Using Iterative Refinement to Find Reusable Software," in IEEE Software, vol. 11, no. , pp. 48-59, 1994.