Improving code completion with program history

66Citations
Citations of this article
47Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Code completion is a widely used productivity tool. It takes away the burden of remembering and typing the exact names of methods or classes: As a developer starts typing a name, it provides a progressively refined list of candidates matching the name. However, the candidate list usually comes in alphabetic order, i.e., the environment is only second-guessing the name based on pattern matching, relying on human intervention to pick the correct one. Finding the correct candidate can thus be cumbersome or slower than typing the full name. We present an approach to improve code completion based on recorded program histories. We define a benchmarking procedure measuring the accuracy of a code completion engine and apply it to several completion algorithms on a dataset consisting of the history of several systems. Further, we use the change history data to improve the results offered by code completion tools. Finally, we propose an alternative interface for completion tools that we released to developers and evaluated. © 2010 Springer Science+Business Media, LLC.

Cite

CITATION STYLE

APA

Robbes, R., & Lanza, M. (2010). Improving code completion with program history. In Automated Software Engineering (Vol. 17, pp. 181–212). https://doi.org/10.1007/s10515-010-0064-x

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free