• DocumentCode
    2332887
  • Title

    An evaluation of the strategies of sorting, filtering, and grouping API methods for Code Completion

  • Author

    Daqing Hou ; Pletcher, David M.

  • Author_Institution
    Electr. & Comput. Eng., Clarkson Univ., Potsdam, NY, USA
  • fYear
    2011
  • fDate
    25-30 Sept. 2011
  • Firstpage
    233
  • Lastpage
    242
  • 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
    Java; application program interfaces; object-oriented programming; public domain software; sorting; API methods; BCC; IDE features; better code completion; context-specific filtering; dynamic reordering; open-source Java projects; sorting; Fires; Receivers; Code completion; Object-oriented Programming; Programming Environments;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Maintenance (ICSM), 2011 27th IEEE International Conference on
  • Conference_Location
    Williamsburg, VI
  • ISSN
    1063-6773
  • Print_ISBN
    978-1-4577-0663-9
  • Electronic_ISBN
    1063-6773
  • Type

    conf

  • DOI
    10.1109/ICSM.2011.6080790
  • Filename
    6080790