Proceedings of the 19th IEEE international conference on Automated software engineering
Six Learning Barriers in End-User Programming Systems
VLHCC '04 Proceedings of the 2004 IEEE Symposium on Visual Languages - Human Centric Computing
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
Informing Eclipse API production and consumption
Proceedings of the 2007 OOPSLA workshop on eclipse technology eXchange
A newbie's guide to eclipse APIs
Proceedings of the 2008 international working conference on Mining software repositories
Automated 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
How Program History Can Improve Code Completion
ASE '08 Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering
Code Completion from Abbreviated Input
ASE '09 Proceedings of the 2009 IEEE/ACM International Conference on Automated Software Engineering
Type-directed completion of partial expressions
Proceedings of the 33rd ACM SIGPLAN conference on Programming Language Design and Implementation
Automatic parameter recommendation for practical API usage
Proceedings of the 34th International Conference on Software Engineering
Escaping the maze of twisty classes
Proceedings of the ACM international symposium on New ideas, new paradigms, and reflections on programming and software
Hi-index | 0.00 |
Nowadays, programmers spend much of their workday dealing with code libraries and frameworks that are bloated with APIs. One common way of interacting with APIs is through Code Completion inside the code editor. By default, Code Completion presents in a popup pane, in alphabetical order or by relevance, all accessible members available in the apparent type and supertypes of a receiver expression. This default behavior for Code Completion should and can be further improved because (1) not all public methods are APIs and presenting non-API public members to a programmer is misleading, (2) certain APIs are meant to be accessible only in some limited contexts but not others, (3) the alphabetical order separates otherwise logically related APIs, making it hard to see their connection and to work with, and (4) commonly used APIs are often presented long after much less used APIs due to suboptimal API sorting strategies. BCC (Better Code Completion) addresses these problems by enhancing Code Completion so that programmers can control how specific API elements should be sorted, filtered, and grouped. We report our preliminary validation results from testing BCC with Java projects that make use of the AWT/Swing APIs. For one large project, the BCC approach reduces by over ninety percent the total number of APIs that a programmer would have to scroll through using Eclipse's Code Completion before settling on the desired ones.