Signature matching: a tool for using software libraries
ACM Transactions on Software Engineering and Methodology (TOSEM)
Research directions in software composition
ACM Computing Surveys (CSUR)
Specification matching for software reuse: a foundation
SSR '95 Proceedings of the 1995 Symposium on Software reusability
How reuse influences productivity in object-oriented systems
Communications of the ACM
Specification matching of software components
ACM Transactions on Software Engineering and Methodology (TOSEM)
Foundations of component-based systems
Foundations of component-based systems
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
Component-based software engineering: putting the pieces together
Component-based software engineering: putting the pieces together
Algorithm for documents ranking: idea and simulation results
SEKE '02 Proceedings of the 14th international conference on Software engineering and knowledge engineering
Supporting reuse by delivering task-relevant and personalized information
Proceedings of the 24th International Conference on Software Engineering
Proceedings of the 19th IEEE international conference on Automated software engineering
Java(TM) Developer's Guide to Eclipse, The (2nd Edition)
Java(TM) Developer's Guide to Eclipse, The (2nd Edition)
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
Finding a needle in the haystack: a technique for ranking matches between components
CBSE'05 Proceedings of the 8th international conference on Component-Based Software Engineering
Path-Sensitive Inference of Function Precedence Protocols
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Finding Relevant Applications for Prototyping
MSR '07 Proceedings of the Fourth International Workshop on Mining Software Repositories
Detecting object usage anomalies
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
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
Comprehending implementation recipes of framework-provided concepts through dynamic analysis
Companion to the 22nd ACM SIGPLAN conference on Object-oriented programming systems and applications companion
Exploiting code search engines to improve programmer productivity
Companion to the 22nd ACM SIGPLAN conference on Object-oriented programming systems and applications companion
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
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
An experimental environment for teaching Java security
Proceedings of the 6th international symposium on Principles and practice of programming in Java
Recommending Typical Usage Examples for Component Retrieval in Reuse Repositories
ICSR '08 Proceedings of the 10th international conference on Software Reuse: High Confidence Software Reuse in Large Systems
Automatically locating framework extension examples
Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of software engineering
On evaluating recommender systems for API usages
Proceedings of the 2008 international workshop on Recommendation systems for software engineering
Evaluating recommended applications
Proceedings of the 2008 international workshop on Recommendation systems for software engineering
Automated Software Engineering
Two studies of opportunistic programming: interleaving web foraging, learning, and writing code
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Sourcerer: mining and searching internet-scale software repositories
Data Mining and Knowledge Discovery
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
Analyzing Software Engineering Processes on Source Code Level
Proceedings of the 2007 conference on New Trends in Software Methodologies, Tools and Techniques: Proceedings of the sixth SoMeT_07
Api hyperlinking via structural overlap
Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
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
Graph-based mining of multiple object usage patterns
Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
MAPO: Mining and Recommending API Usage Patterns
Genoa Proceedings of the 23rd European Conference on ECOOP 2009 --- Object-Oriented Programming
Supporting Framework Use via Automatically Extracted Concept-Implementation Templates
Genoa Proceedings of the 23rd European Conference on ECOOP 2009 --- Object-Oriented Programming
A code reuse interface for non-programmer middle school students
Proceedings of the 15th international conference on Intelligent user interfaces
Example-centric programming: integrating web search into the development environment
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
No Code Required: Giving Users Tools to Transform the Web
No Code Required: Giving Users Tools to Transform the Web
A search engine for finding highly relevant applications
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
Exemplar: EXEcutable exaMPLes ARchive
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2
Matching dependence-related queries in the system dependence graph
Proceedings of the IEEE/ACM international conference on Automated software engineering
Leveraging usage similarity for effective retrieval of examples in code repositories
Proceedings of the eighteenth ACM SIGSOFT international symposium on Foundations of software engineering
IDE 2.0: collective intelligence in software development
Proceedings of the FSE/SDP workshop on Future of software engineering research
Mining source codes to guide software development
ACIIDS'10 Proceedings of the Second international conference on Intelligent information and database systems: Part I
Inferring meta-models for runtime system data from the clients of management APIs
MODELS'10 Proceedings of the 13th international conference on Model driven engineering languages and systems: Part II
MACs: Mining API code snippets for code reuse
Expert Systems with Applications: An International Journal
A test-driven approach to code search and its application to the reuse of auxiliary functionality
Information and Software Technology
A spontaneous code recommendation tool based on associative search
Proceedings of the 3rd International Workshop on Search-Driven Development: Users, Infrastructure, Tools, and Evaluation
Portfolio: finding relevant functions and their usage
Proceedings of the 33rd International Conference on Software Engineering
Portfolio: a search engine for finding functions and their usages
Proceedings of the 33rd International Conference on Software Engineering
Finding relevant functions in millions of lines of code
Proceedings of the 33rd International Conference on Software Engineering
Flow-augmented call graph: a new foundation for taming API complexity
FASE'11/ETAPS'11 Proceedings of the 14th international conference on Fundamental approaches to software engineering: part of the joint European conferences on theory and practice of software
Interactive synthesis of code snippets
CAV'11 Proceedings of the 23rd international conference on Computer aided verification
Using structure-based recommendations to facilitate discoverability in APIs
Proceedings of the 25th European conference on Object-oriented programming
Mining temporal specifications from object usage
Automated Software Engineering
Code completion of multiple keywords from abbreviated input
Automated Software Engineering
Data-driven synthesis for object-oriented frameworks
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
How Well Do Search Engines Support Code Retrieval on the Web?
ACM Transactions on Software Engineering and Methodology (TOSEM)
Type-directed completion of partial expressions
Proceedings of the 33rd ACM SIGPLAN conference on Programming Language Design and Implementation
Graph-based pattern-oriented, context-sensitive source code completion
Proceedings of the 34th International Conference on Software Engineering
Detecting similar software applications
Proceedings of the 34th International Conference on Software Engineering
Mining application repository to recommend XML configuration snippets
Proceedings of the 34th International Conference on Software Engineering
SnipMatch: using source code context to enhance snippet retrieval and parameterization
Proceedings of the 25th annual ACM symposium on User interface software and technology
Escaping the maze of twisty classes
Proceedings of the ACM international symposium on New ideas, new paradigms, and reflections on programming and software
Typestate-based semantic code search over partial programs
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Enriching Documents with Examples: A Corpus Mining Approach
ACM Transactions on Information Systems (TOIS)
Discovering math APIs by mining unit tests
FASE'13 Proceedings of the 16th international conference on Fundamental Approaches to Software Engineering
Complete completion using types and weights
Proceedings of the 34th ACM SIGPLAN conference on Programming language design and implementation
dCloud: a document link provision cloud for software extension tasks
Proceedings of the International C* Conference on Computer Science and 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
Comparison and evaluation of source code mining tools and techniques: A qualitative approach
Intelligent Data Analysis
Hi-index | 0.00 |
It is common practice for software developers to use examples to guide development efforts. This largely unwritten, yet standard, practice of "develop by example" is often supported by examples bundled with library or framework packages, provided in textbooks, and made available for download on both official and unofficial web sites. However, the vast number of examples that are embedded in the billions of lines of already developed library and framework code are largely untapped. We have developed XSnippet, a context-sensitive code assistant framework that allows developers to query a sample repository for code snippets that are relevant to the programming task at hand. In particular, our work makes three primary contributions. First, a range of queries is provided to allow developers to switch between a context-independent retrieval of code snippets to various degrees of context-sensitive retrieval for object instantiation queries. Second, a novel graph-based code mining algorithm is provided to support the range of queries and enable mining within and across method boundaries. Third, an innovative context-sensitive ranking heuristic is provided that has been experimentally proven to provide better ranking for best-fit code snippets than context-independent heuristics such as shortest path and frequency. Our experimental evaluation has shown that XSnippet has significant potential to assist developers, and provides better coverage of tasks and better rankings for best-fit snippets than other code assistant systems.