Learning from Examples to Improve Code Completion Systems

by Marcel Bruch, Martin Monperrus and Mira Mezini
Abstract: 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.
 View PDF
Open-access (on archives-ouvertes.fr)
Publisher version (via DOI)
Citations: [citations]
Other publications of Martin Monperrus

Cite it:

Learning from Examples to Improve Code Completion Systems (, and ), In Proceedings of the 7th joint meeting of the European Software Engineering Conference and the ACM Symposium on the Foundations of Software Engineering, .
Marcel Bruch, Martin Monperrus and Mira Mezini, "Learning from Examples to Improve Code Completion Systems", In Proceedings of the 7th joint meeting of the European Software Engineering Conference and the ACM Symposium on the Foundations of Software Engineering, Amsterdam, Netherlands, 2009.

Bibtex Entry:

@inproceedings{Bruch2009,
 title = {{Learning from Examples to Improve Code Completion Systems}},
 author = {Bruch, Marcel and Monperrus, Martin and Mezini, Mira},
 url = {http://www.monperrus.net/martin/Learning-from-Examples-to-Improve-Code-Completion-Systems.pdf},
 booktitle = {{Proceedings of the 7th joint meeting of the European Software Engineering Conference and the ACM Symposium on the Foundations of Software Engineering}},
 year = {2009},
 doi = {10.1145/1595696.1595728},
}
Powered by bibtexbrowser
Tagged as: