Software reuse through information retrieval
ACM SIGIR Forum
Documenting frameworks using patterns
OOPSLA '92 conference proceedings on Object-oriented programming systems, languages, and applications
Mining association rules between sets of items in large databases
SIGMOD '93 Proceedings of the 1993 ACM SIGMOD international conference on Management of data
Data mining library reuse patterns using generalized association rules
Proceedings of the 22nd international conference on Software engineering
A framework for framework documentation
ACM Computing Surveys (CSUR)
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
Information Retrieval
Patterns Generate Architectures
ECOOP '94 Proceedings of the 8th European Conference on Object-Oriented Programming
Proceedings of the 19th IEEE international conference on 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
How Are Java Software Developers Using the Eclipse IDE?
IEEE Software
Pattern Recognition and Machine Learning (Information Science and Statistics)
Pattern Recognition and Machine Learning (Information Science and Statistics)
XSnippet: mining For sample code
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Using task context to improve programmer productivity
Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
FrUiT: IDE support for framework understanding
eclipse '06 Proceedings of the 2006 OOPSLA workshop on eclipse technology eXchange
The SEXTANT Software Exploration Tool
IEEE Transactions on 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
On evaluating recommender systems for API usages
Proceedings of the 2008 international workshop on Recommendation systems for software engineering
How Program History Can Improve Code Completion
ASE '08 Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering
A study of cross-validation and bootstrap for accuracy estimation and model selection
IJCAI'95 Proceedings of the 14th international joint conference on Artificial intelligence - Volume 2
Improving code completion with program history
Automated Software Engineering
Towards a better code completion system by API grouping, filtering, and popularity-based ranking
Proceedings of the 2nd International Workshop on Recommendation Systems for Software Engineering
Searching API usage examples in code repositories with sourcerer API search
Proceedings of 2010 ICSE Workshop on Search-driven Development: Users, Infrastructure, Tools and Evaluation
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
Speculative analysis: exploring future development states of software
Proceedings of the FSE/SDP workshop on Future of software engineering research
Recommending API methods based on identifier contexts
Proceedings of the 3rd International Workshop on Search-Driven Development: Users, Infrastructure, Tools, and Evaluation
Using structure-based recommendations to facilitate discoverability in APIs
Proceedings of the 25th European conference on Object-oriented programming
Code completion of multiple keywords from abbreviated input
Automated Software Engineering
Mendel: Source code recommendation based on a genetic metaphor
ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering
Analyzing temporal API usage patterns
ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering
Graph-based pattern-oriented, context-sensitive source code completion
Proceedings of the 34th International Conference on Software Engineering
Temporal analysis of API usage concepts
Proceedings of the 34th International Conference on Software Engineering
Automatic parameter recommendation for practical API usage
Proceedings of the 34th International Conference on Software Engineering
On the naturalness of software
Proceedings of the 34th International Conference on Software Engineering
Proceedings of the 34th International Conference on Software Engineering
Improving IDE recommendations by considering global implications of existing recommendations
Proceedings of the 34th International Conference on Software Engineering
GraPacc: a graph-based pattern-oriented, context-sensitive code completion tool
Proceedings of the 34th International Conference on Software Engineering
Systematizing pragmatic software reuse
ACM Transactions on Software Engineering and Methodology (TOSEM)
Escaping the maze of twisty classes
Proceedings of the ACM international symposium on New ideas, new paradigms, and reflections on programming and software
Speculative analysis of integrated development environment recommendations
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Towards generating templates of method body based on method name and related identifiers
Proceedings of the 8th international workshop on Advanced modularization techniques
Understanding multilayered applications for building extensions
Proceedings of the 1st workshop on Comprehension of complex systems
Complete completion using types and weights
Proceedings of the 34th ACM SIGPLAN conference on Programming language design and implementation
Temporal code completion and navigation
Proceedings of the 2013 International Conference on Software Engineering
A statistical semantic language model for source code
Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering
Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering
Structured statistical syntax tree prediction
Proceedings of the 2013 companion publication for conference on Systems, programming, & applications: software for humanity
Discovering implicit schemas in JSON data
ICWE'13 Proceedings of the 13th international conference on Web Engineering
Sourcerer: An infrastructure for large-scale collection and analysis of open-source code
Science of Computer Programming
Hi-index | 0.00 |
The suggestions made by current IDE's code completion features are based exclusively on static type system of the programming language. As a result, often proposals are made which are irrelevant for a particular working context. Also, these suggestions are ordered alphabetically rather than by their relevance in a particular context. In this paper, we present intelligent code completion systems that learn from existing code repositories. We have implemented three such systems, each using the information contained in repositories in a different way. We perform a large-scale quantitative evaluation of these systems, integrate the best performing one into Eclipse, and evaluate the latter also by a user study. Our experiments give evidence that intelligent code completion systems which learn from examples significantly outperform mainstream code completion systems in terms of the relevance of their suggestions and thus have the potential to enhance developers' productivity.