Code Completion Based on Implicit User Feedback

by Sven Amann

Abstract:

Code completion assistants have long been established in modern IDEs’s toolchain for program development. Such assistants greatly facilitate search in and manipulation of source code and its documentation. Nevertheless, it has been observed by Ko et al. that developers spent around 35 percent of their time searching and analyzing the codebase. Considering the trend of growth in size and complexity software systems have shown over the last decades, this fraction is likely to increase even further in the years to come. Many of today’s completion assistants are still based on rather simple approaches, like alphabetical lists of all possible completions, command histories, or heuristics on the current document’s contents. Only recently, the Code Recommenders by Bruch et al. has shown that machine learning approaches can be successfully applied to create next-generation completion assistants, promising a significant increase in productivity. Problems with these new recommender systems currently are that they learn their models from mining code repositories and that updating models by new evidence requires to restart learning from scratch. Therefore, we introduce a Code Recommenders extension that moves the data collection routines into the IDE and applies incremental learning procedures to learn models from implicit feedback of developers. We evaluate the recommendation models trained with different algorithms and feature-sets in this crowd-based code-completion framework.

Resources

BibTeX

@mastersthesis {A13,
  title = {{Code Completion Based on Implicit User Feedback}},
  author = {Amann, Sven},
  year = {2013},
}