This Article 
 Bibliographic References 
 Add to: 
Using Iterative Refinement to Find Reusable Software
September/October 1994 (vol. 11 no. 5)
pp. 48-59

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.

Index Terms:
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
Scott Henninger, "Using Iterative Refinement to Find Reusable Software," IEEE Software, vol. 11, no. 5, pp. 48-59, Sept.-Oct. 1994, doi:10.1109/52.311059
Usage of this product signifies your acceptance of the Terms of Use.