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.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.