• DocumentCode
    2442097
  • Title

    Active code completion

  • Author

    Omar, Cyrus ; Yoon, YoungSeok ; LaToza, Thomas D. ; Myers, Brad A.

  • Author_Institution
    Carnegie Mellon Univ., Pittsburgh, PA, USA
  • fYear
    2012
  • fDate
    2-9 June 2012
  • Firstpage
    859
  • Lastpage
    869
  • Abstract
    Code completion menus have replaced standalone API browsers for most developers because they are more tightly integrated into the development workflow. Refinements to the code completion menu that incorporate additional sources of information have similarly been shown to be valuable, even relative to standalone counterparts offering similar functionality. In this paper, we describe active code completion, an architecture that allows library developers to introduce interactive and highly-specialized code generation interfaces, called palettes, directly into the editor. Using several empirical methods, we examine the contexts in which such a system could be useful, describe the design constraints governing the system architecture as well as particular code completion interfaces, and design one such system, named Graphite, for the Eclipse Java development environment. Using Graphite, we implement a palette for writing regular expressions as our primary example and conduct a small pilot study. In addition to showing the feasibility of this approach, it provides further evidence in support of the claim that integrating specialized code completion interfaces directly into the editor is valuable to professional developers.
  • Keywords
    Java; application program interfaces; software engineering; API browsers; Eclipse Java development environment; Graphite; active code completion menu; highly-specialized code generation interfaces; library developers; offering similar functionality; Computer architecture; Databases; Image color analysis; Java; Standards; Syntactics; code completion; development environments;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Engineering (ICSE), 2012 34th International Conference on
  • Conference_Location
    Zurich
  • ISSN
    0270-5257
  • Print_ISBN
    978-1-4673-1066-6
  • Electronic_ISBN
    0270-5257
  • Type

    conf

  • DOI
    10.1109/ICSE.2012.6227133
  • Filename
    6227133