2013Unpublished venueRequires access

Code Completion Based on Implicit User Feedback

Sven Amann

Open publisher page 0 citations

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. [KMCA06] 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 al- phabetical lists of all possible completions, command histories, or heuristics on the current document’s contents. Only recently, the Code Recommenders by Bruch et al. [Bru12] has shown that machine learning approaches can be successfully applied to create next-generation comple- tion 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.

About this research paper

What this paper is about

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. [KMCA06] 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 al- phabetical lists of all possible completions, command histories, or heuristics on the current document’s contents. Only recently, the Code Recommenders by Bruch et al. [Bru12] has shown that machine learning approaches can be successfully applied to create next-generation comple- tion 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.

Why it matters

A significance statement is not available in the OpenAlex record.

Key contribution

A contribution statement is not available in the OpenAlex record.

Method / approach

Method details are not available in the OpenAlex metadata.

Main findings

Findings are not separately available in the OpenAlex metadata.

Limitations

Limitations are not available in the OpenAlex metadata.

Applications

Application details are not available in the OpenAlex metadata.

Available 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. [KMCA06] 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 al- phabetical lists of all possible completions, command histories, or heuristics on the current document’s contents. Only recently, the Code Recommenders by Bruch et al. [Bru12] has shown that machine learning approaches can be successfully applied to create next-generation comple- tion 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.

Key concepts: Codebase, Computer science, Code review, Code (set theory), Heuristics, Undo, Toolchain, Documentation

Related papers

Back to paper searchBrowse research topicsOriginal source
Code Completion Based on Implicit User Feedback — Research Paper | ScholarLens