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
Link To Document