An evaluation of the strategies of sorting, filtering, and grouping API methods for Code Completion
Open Access
- 1 September 2011
- conference paper
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
Abstract
Code Completion is one of the most popular IDE features for accessing APIs, freeing programmers from remembering specific details about an API and reducing keystrokes. We propose three ways to enhance the current code-completion systems to work more effectively with large APIs. First, we propose two methods for sorting APIs, by type hierarchy and by use count, and show that their use significantly reduces the number of API proposals a user must navigate while using Code Completion. Second, we show that context-specific filtering of inappropriate proposals can also reduce the number of proposals a user must navigate. Third, we propose to group API proposals by their functional roles, which can help maintain a well-ordered, meaningful list of API proposals in the presence of dynamic reordering. These functionalities are grouped into a research prototype, BCC (Better Code Completion). We evaluated fourteen configurations of BCC by simulating Code Completion nearly three million times on nine open-source Java projects that utilize AWT/Swing.Keywords
This publication has 10 references indexed in Scilit:
- Calcite: Completing Code Completion for Constructors Using CrowdsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2010
- Towards a better code completion system by API grouping, filtering, and popularity-based rankingPublished by Association for Computing Machinery (ACM) ,2010
- Code Completion from Abbreviated InputPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2009
- BCC: Enhancing code completion for better API usabilityPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2009
- Learning from examples to improve code completion systemsPublished by Association for Computing Machinery (ACM) ,2009
- Keyword programming in JavaAutomated Software Engineering, 2008
- How Program History Can Improve Code CompletionPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2008
- A newbie's guide to eclipse APIsPublished by Association for Computing Machinery (ACM) ,2008
- Informing Eclipse API production and consumptionPublished by Association for Computing Machinery (ACM) ,2007
- Automatic method completionPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2004