Types and programming languages
Types and programming languages
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
How Are Java Software Developers Using the Eclipse IDE?
IEEE Software
The Factory Pattern in API Design: A Usability Evaluation
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Learning from examples to improve code completion systems
Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
How Program History Can Improve Code Completion
ASE '08 Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering
Improving API documentation using API usage information
VLHCC '09 Proceedings of the 2009 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)
Code Completion from Abbreviated Input
ASE '09 Proceedings of the 2009 IEEE/ACM International Conference on Automated Software Engineering
Example-centric programming: integrating web search into the development environment
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Registration-based language abstractions
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Calcite: Completing Code Completion for Constructors Using Crowds
VLHCC '10 Proceedings of the 2010 IEEE Symposium on Visual Languages and Human-Centric Computing
The Qualitas Corpus: A Curated Collection of Java Code for Empirical Studies
APSEC '10 Proceedings of the 2010 Asia Pacific Software Engineering Conference
An evaluation of the strategies of sorting, filtering, and grouping API methods for Code Completion
ICSM '11 Proceedings of the 2011 27th IEEE International Conference on Software Maintenance
Picode: inline photos representing posture data in source code
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Temporal code completion and navigation
Proceedings of the 2013 International Conference on Software Engineering
Type-directed, whitespace-delimited parsing for embedded DSLs
Proceedings of the First Workshop on the Globalization of Domain Specific Languages
A statistical semantic language model for source code
Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering
Authoring multi-stage code examples with editable code histories
Proceedings of the 26th annual ACM symposium on User interface software and technology
Hi-index | 0.00 |
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.