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
ICSE '90 Proceedings of the 12th international conference on Software engineering
An Information Retrieval Approach for Automatically Constructing Software Libraries
IEEE Transactions on Software Engineering
Signature matching: a tool for using software libraries
ACM Transactions on Software Engineering and Methodology (TOSEM)
The concept assignment problem in program understanding
ICSE '93 Proceedings of the 15th international conference on Software Engineering
Efficiently mining long patterns from databases
SIGMOD '98 Proceedings of the 1998 ACM SIGMOD international conference on Management of data
Assessing software libraries by browsing similar classes, functions and relationships
Proceedings of the 21st international conference on Software engineering
Foundations of statistical natural language processing
Foundations of statistical natural language processing
Using Iterative Refinement to Find Reusable Software
IEEE Software
Navigating and querying code without getting lost
Proceedings of the 2nd international conference on Aspect-oriented software development
Nomen Est Omen: Analyzing the Language of Function Identifiers
WCRE '99 Proceedings of the Sixth Working Conference on Reverse Engineering
Feed-forward and recurrent neural networks for source code informal information analysis
Journal of Software Maintenance: Research and Practice
Automatic generation of domain representations using thesaurus structures
Journal of the American Society for Information Science and Technology
An Information Retrieval Approach to Concept Location in Source Code
WCRE '04 Proceedings of the 11th Working Conference on Reverse Engineering
Using structural context to recommend source code examples
Proceedings of the 27th international conference on Software engineering
Toward mining "concept keywords" from identifiers in large software projects
MSR '05 Proceedings of the 2005 international workshop on Mining software repositories
Towards supporting on-demand virtual remodularization using program graphs
Proceedings of the 5th international conference on Aspect-oriented software development
JIRiSS - an Eclipse plug-in for Source Code Exploration
ICPC '06 Proceedings of the 14th IEEE International Conference on Program Comprehension
Source Code Exploration with Google
ICSM '06 Proceedings of the 22nd IEEE International Conference on Software Maintenance
Using natural language program analysis to locate and understand action-oriented concerns
Proceedings of the 6th international conference on Aspect-oriented software development
Semantic clustering: Identifying topics in source code
Information and Software Technology
Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation
Combining Formal Concept Analysis with Information Retrieval for Concept Location in Source Code
ICPC '07 Proceedings of the 15th IEEE International Conference on Program Comprehension
Extracting Meaning from Abbreviated Identifiers
SCAM '07 Proceedings of the Seventh IEEE International Working Conference on Source Code Analysis and Manipulation
Classifying Software for Reusability
IEEE Software
Exploring the neighborhood with dora to expedite software maintenance
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
Mining business topics in source code using latent dirichlet allocation
ISEC '08 Proceedings of the 1st India software engineering conference
Introduction to Information Retrieval
Introduction to Information Retrieval
Identifying Word Relations in Software: A Comparative Study of Semantic Similarity Tools
ICPC '08 Proceedings of the 2008 The 16th IEEE International Conference on Program Comprehension
Do Crosscutting Concerns Cause Defects?
IEEE Transactions on Software Engineering
Reactive information foraging for evolving goals
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Supporting developers with natural language queries
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
On recommending meaningful names in source and UML
Proceedings of the 2nd International Workshop on Recommendation Systems for Software Engineering
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2
Towards automatically generating summary comments for Java methods
Proceedings of the IEEE/ACM international conference on Automated software engineering
Matching dependence-related queries in the system dependence graph
Proceedings of the IEEE/ACM international conference on Automated software engineering
DSketch: lightweight, adaptable dependency analysis
Proceedings of the eighteenth ACM SIGSOFT international symposium on Foundations of software engineering
Automatically detecting and describing high level actions within methods
Proceedings of the 33rd International Conference on Software Engineering
Domain-driven technique for functionality identification in source code
ACM SIGSOFT Software Engineering Notes
Querying source code with natural language
ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering
Improving source code search with natural language phrasal representations of method signatures
ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering
MOOGLE: a metamodel-based model search engine
Software and Systems Modeling (SoSyM)
Recovering traceability links between an API and its learning resources
Proceedings of the 34th International Conference on Software Engineering
Improving information retrieval-based concept location using contextual relationships
Proceedings of the 34th International Conference on Software Engineering
Concept location using formal concept analysis and information retrieval
ACM Transactions on Software Engineering and Methodology (TOSEM)
Sando: an extensible local code search framework
Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering
An Information Foraging Theory Perspective on Tools for Debugging, Refactoring, and Reuse Tasks
ACM Transactions on Software Engineering and Methodology (TOSEM)
Empirical Software Engineering
Automatic query reformulations for text retrieval in software engineering
Proceedings of the 2013 International Conference on Software Engineering
Portfolio: Searching for relevant functions and their usages in millions of lines of code
ACM Transactions on Software Engineering and Methodology (TOSEM) - Testing, debugging, and error handling, formal methods, lifecycle concerns, evolution and maintenance
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
Supporting concept location through identifier parsing and ontology extraction
Journal of Systems and Software
Hi-index | 0.00 |
As software systems continue to grow and evolve, locating code for maintenance and reuse tasks becomes increasingly difficult. Existing static code search techniques using natural language queries provide little support to help developers determine whether search results are relevant, and few recommend alternative words to help developers reformulate poor queries. In this paper, we present a novel approach that automatically extracts natural language phrases from source code identifiers and categorizes the phrases and search results in a hierarchy. Our contextual search approach allows developers to explore the word usage in a piece of software, helping them to quickly identify relevant program elements for investigation or to quickly recognize alternative words for query reformulation. An empirical evaluation of 22 developers reveals that our contextual search approach significantly outperforms the most closely related technique in terms of effort and effectiveness.