Learning from Examples to Improve Code Completion Systems

by Marcel Bruch, Martin Monperrus, Mira Mezini
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
acceptance rate: 32/217, 15%

Reference:

Learning from Examples to Improve Code Completion Systems (Marcel Bruch, Martin Monperrus, Mira Mezini), In Proceedings of the 7th joint meeting of the European Software Engineering Conference and the ACM Symposium on the Foundations of Software Engineering, ACM, 2009. (acceptance rate: 32/217, 15%)

Bibtex Entry:

@INPROCEEDINGS{Bruch2009,
  author = {Marcel Bruch and Martin Monperrus and Mira Mezini},
  title = {Learning from Examples to Improve Code Completion Systems},
  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},
  publisher = {ACM},
  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.},
  comment = {acceptance rate: 32/217, 15%},
  doi = {10.1145/1595696.1595728},
  keywords = {mostsignificant},
  url = {http://www.monperrus.net/martin/Learning-from-Examples-to-Improve-Code-Completion-Systems.pdf},
  x-abbrv = {FSE}
}
Other publications of Martin Monperrus
Powered by bibtexbrowser