Title :
Active code completion
Author :
Omar, Cyrus ; Yoon, YoungSeok ; LaToza, Thomas D. ; Myers, Brad A.
Author_Institution :
Carnegie Mellon Univ., Pittsburgh, PA, USA
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;
Conference_Titel :
Software Engineering (ICSE), 2012 34th International Conference on
Conference_Location :
Zurich
Print_ISBN :
978-1-4673-1066-6
Electronic_ISBN :
0270-5257
DOI :
10.1109/ICSE.2012.6227133