On the applied use of human memory models: the memory extender personal filing system
International Journal of Man-Machine Studies
The vocabulary problem in human-system communication
Communications of the ACM
Helgon: extending the retrieval by reformulation paradigm
CHI '89 Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
LaSSIE: a knowledge-based software information system
Communications of the ACM - Special issue on software engineering
An Information Retrieval Approach for Automatically Constructing Software Libraries
IEEE Transactions on Software Engineering
Computing similarity in a reuse library system: an AI-based approach
ACM Transactions on Software Engineering and Methodology (TOSEM)
Locating relevant examples for example-based software design
Locating relevant examples for example-based software design
An Empirical Study of Representation Methods for Reusable Software Components
IEEE Transactions on Software Engineering
SSR '95 Proceedings of the 1995 Symposium on Software reusability
Developing domain knowledge through the reuse of project experiences
SSR '95 Proceedings of the 1995 Symposium on Software reusability
SSR '95 Proceedings of the 1995 Symposium on Software reusability
An organizational learning approach to domain analysis
Proceedings of the 17th international conference on Software engineering
Supporting the construction and evolution of component repositories
Proceedings of the 18th international conference on Software engineering
Supporting Search for Reusable Software Objects
IEEE Transactions on Software Engineering - Special issue: best papers of the 17th International Conference on Software Engineering (ICSE-17)
An evolutionary approach to constructing effective software reuse repositories
ACM Transactions on Software Engineering and Methodology (TOSEM)
An Empirical Study of Software Reuse with Special Attention to Ada
IEEE Transactions on Software Engineering
Enhancing design reusability by clustering specifications
SAC '96 Proceedings of the 1996 ACM symposium on Applied Computing
Reuse of early life-cycle artifacts: workproducts, methods and tools
Annals of Software Engineering
An association-based management of reusable software components
Annals of Software Engineering
IEEE Software
Development and Evolution of Web-Applications Using the WebComposition Process Model
Web Engineering, Software Engineering and Web Application Development
A Formal Method to Software Integration in Reuse
COMPSAC '96 Proceedings of the 20th Conference on Computer Software and Applications
A Fuzzy-Related Thesaurus for Query Refinement
Neural Processing Letters
A SOM-based query refinement mechanism
Design and application of hybrid intelligent systems
Selecting components in large COTS repositories
Journal of Systems and Software - Special issue: Applications of statistics in software engineering
Self-certification and trust in component procurement
Science of Computer Programming - Special issue on new software composition concepts
Queries as anchors: selection by association
Proceedings of the sixteenth ACM conference on Hypertext and hypermedia
X-ARM: an asset representation model for component repository systems
Proceedings of the 2006 ACM symposium on Applied computing
Shortening retrieval sequences in browsing-based component retrieval using information entropy
Journal of Systems and Software
Static reformulation: a user study of static hypertext for query-based reformulation
Proceedings of the 7th ACM/IEEE-CS joint conference on Digital libraries
Assieme: finding and leveraging implicit references in a web search interface for programmers
Proceedings of the 20th annual ACM symposium on User interface software and technology
Applying a semantic layer in a source code search tool
Proceedings of the 2008 ACM symposium on Applied computing
Refining component description by leveraging user query logs
Journal of Systems and Software
Automatically capturing source code context of NL-queries for software maintenance and reuse
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Ranking and Selecting Services
ICSR '09 Proceedings of the 11th International Conference on Software Reuse: Formal Foundations of Reuse and Domain Engineering
Supporting developers with natural language queries
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
Automatically detecting and describing high level actions within methods
Proceedings of the 33rd International Conference on Software Engineering
From specification to experimentation: a software component search engine architecture
CBSE'06 Proceedings of the 9th international conference on Component-Based Software Engineering
Evaluating a query framework for software evolution data
ACM Transactions on Software Engineering and Methodology (TOSEM) - Testing, debugging, and error handling, formal methods, lifecycle concerns, evolution and maintenance
Hi-index | 0.00 |
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.