The vocabulary problem in human-system communication
Communications of the ACM
The state of retrieval system evaluation
Information Processing and Management: an International Journal - Special issue on evaluation issues in information retrieval
Locating relevant examples for example-based software design
Locating relevant examples for example-based software design
Reducing the variability of programmers' performance through explained examples
CHI '93 Proceedings of the INTERACT '93 and CHI '93 Conference on Human Factors in Computing Systems
The reuse of uses in Smalltalk programming
ACM Transactions on Computer-Human Interaction (TOCHI)
Fab: content-based, collaborative recommendation
Communications of the ACM
An evolutionary approach to constructing effective software reuse repositories
ACM Transactions on Software Engineering and Methodology (TOSEM)
Cognitive tools for locating and comprehending software objects for reuse
ICSE '91 Proceedings of the 13th international conference on Software engineering
Integrating active information delivery and reuse repository systems
SIGSOFT '00/FSE-8 Proceedings of the 8th ACM SIGSOFT international symposium on Foundations of software engineering: twenty-first century applications
What programmers really want: results of a needs assessment for SDK documentation
Proceedings of the 20th annual international conference on Computer documentation
Investigating Reading Techniques for Object-Oriented Framework Learning
IEEE Transactions on Software Engineering
Official Eclipse 3.0 Faq (Eclipse Series)
Official Eclipse 3.0 Faq (Eclipse Series)
Java(TM) Developer's Guide to Eclipse, The (2nd Edition)
Java(TM) Developer's Guide to Eclipse, The (2nd Edition)
Reuse-Conducive Development Environments
Automated Software Engineering
Using structural context to recommend source code examples
Proceedings of the 27th international conference on Software engineering
Jungloid mining: helping to navigate the API jungle
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
XSnippet: mining For sample code
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Mica: A Web-Search Tool for Finding API Components and Examples
VLHCC '06 Proceedings of the Visual Languages and Human-Centric Computing
Sourcerer: a search engine for open source code supporting structure-based search
Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications
IAT '06 Proceedings of the IEEE/WIC/ACM international conference on Intelligent Agent Technology
Finding Relevant Applications for Prototyping
MSR '07 Proceedings of the Fourth International Workshop on Mining Software Repositories
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
Searching the library and asking the peers: learning to use Java APIs on demand
Proceedings of the 5th international symposium on Principles and practice of programming in Java
Parseweb: a programmer assistant for reusing open source code on the web
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
Introduction to Information Retrieval
Introduction to Information Retrieval
Automatically locating framework extension examples
Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of software engineering
Evaluating recommended applications
Proceedings of the 2008 international workshop on Recommendation systems for software engineering
Automated Software Engineering
Search Engines: Information Retrieval in Practice
Search Engines: Information Retrieval in Practice
Sourcerer: mining and searching internet-scale software repositories
Data Mining and Knowledge Discovery
Jadeite: improving API documentation using usage information
CHI '09 Extended Abstracts on Human Factors in Computing Systems
SNIFF: A Search Engine for Java Using Free-Form Queries
FASE '09 Proceedings of the 12th International Conference on Fundamental Approaches to Software Engineering: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009
Sourcerer: An internet-scale software repository
SUITE '09 Proceedings of the 2009 ICSE Workshop on Search-Driven Development-Users, Infrastructure, Tools and Evaluation
MSR '09 Proceedings of the 2009 6th IEEE International Working Conference on Mining Software Repositories
Learning from examples to improve code completion systems
Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
What Makes APIs Hard to Learn? Answers from Developers
IEEE Software
SpotWeb: Detecting Framework Hotspots and Coldspots via Mining Open Source Code on the Web
ASE '08 Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering
Searching, selecting, and synthesizing source code
Proceedings of the 33rd International Conference on Software Engineering
APIExample: An effective web search based usage example recommendation system for java APIs
ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering
Analyzing and mining a code search engine usage log
Empirical Software Engineering
Detecting similar software applications
Proceedings of the 34th International Conference on Software Engineering
Facilitating code example search on the web through expertise personalization
UMAP'12 Proceedings of the 20th international conference on User Modeling, Adaptation, and Personalization
Proceedings of the 2013 9th Joint Meeting on Foundations of 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
Sourcerer: An infrastructure for large-scale collection and analysis of open-source code
Science of Computer Programming
Hi-index | 0.00 |
Developers often learn to use APIs (Application Programming Interfaces) by looking at existing examples of API usage. Code repositories contain many instances of such usage of APIs. However, conventional information retrieval techniques fail to perform well in retrieving API usage examples from code repositories. This paper presents Structural Semantic Indexing (SSI), a technique to associate words to source code entities based on similarities of API usage. The heuristic behind this technique is that entities (classes, methods, etc.) that show similar uses of APIs are semantically related because they do similar things. We evaluate the effectiveness of SSI in code retrieval by comparing three SSI based retrieval schemes with two conventional baseline schemes. We evaluate the performance of the retrieval schemes by running a set of 20 candidate queries against a repository containing 222,397 source code entities from 346 jars belonging to the Eclipse framework. The results of the evaluation show that SSI is effective in improving the retrieval of examples in code repositories.