Learning from examples to improve code completion systems
M Bruch, M Monperrus, M Mezini - Proceedings of the 7th joint meeting …, 2009 - dl.acm.org
M Bruch, M Monperrus, M Mezini
Proceedings of the 7th joint meeting of the European software engineering …, 2009•dl.acm.orgThe suggestions made by current IDE's code completion features are based exclusively on
static type system of the programming language. As a result, often proposals are made
which are irrelevant for a particular working context. Also, these suggestions are ordered
alphabetically rather than by their relevance in a particular context. In this paper, we present
intelligent code completion systems that learn from existing code repositories. We have
implemented three such systems, each using the information contained in repositories in a …
static type system of the programming language. As a result, often proposals are made
which are irrelevant for a particular working context. Also, these suggestions are ordered
alphabetically rather than by their relevance in a particular context. In this paper, we present
intelligent code completion systems that learn from existing code repositories. We have
implemented three such systems, each using the information contained in repositories in a …
The suggestions made by current IDE's code completion features are based exclusively on static type system of the programming language. As a result, often proposals are made which are irrelevant for a particular working context. Also, these suggestions are ordered alphabetically rather than by their relevance in a particular context. In this paper, we present intelligent code completion systems that learn from existing code repositories. We have implemented three such systems, each using the information contained in repositories in a different way. We perform a large-scale quantitative evaluation of these systems, integrate the best performing one into Eclipse, and evaluate the latter also by a user study. Our experiments give evidence that intelligent code completion systems which learn from examples significantly outperform mainstream code completion systems in terms of the relevance of their suggestions and thus have the potential to enhance developers' productivity.