How Program History Can Improve Code Completion
- 1 September 2008
- conference paper
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 317-326
- https://doi.org/10.1109/ase.2008.42
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 always comes in alphabetic order, i.e., the environment is only second-guessing the name based on pattern matching. Finding the correct candidate can be cumbersome or slower than typing the full name. We present an approach to improve code completion with program history. We define a benchmark measuring the accuracy and usefulness of a code completion engine. Further, we use the change history data to also improve the results offered by code completion tools. Finally, we propose an alternative interface for completion tools.Keywords
This publication has 8 references indexed in Scilit:
- SpyWarePublished by Association for Computing Machinery (ACM) ,2008
- Keyword programming in javaPublished by Association for Computing Machinery (ACM) ,2007
- An Approach to Software Evolution Based on Semantic ChangePublished by Springer Science and Business Media LLC ,2007
- Characterizing and Understanding Development SessionsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2007
- Mining a Change-Based Software RepositoryPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2007
- Using task context to improve programmer productivityPublished by Association for Computing Machinery (ACM) ,2006
- How are Java software developers using the Eclipse IDE?IEEE Software, 2006
- Version models for software configuration managementACM Computing Surveys, 1998