How Program History Can Improve Code Completion

  • Authors:
  • R. Robbes;M. Lanza

  • Affiliations:
  • Lugano Univ., Lugano;Lugano Univ., Lugano

  • Venue:
  • ASE '08 Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

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.