Home > Research > Publications & Outputs > Learning from examples to improve code completi...
View graph of relations

Learning from examples to improve code completion systems

Research output: Contribution in Book/Report/Proceedings - With ISBN/ISSNConference contribution/Paperpeer-review

Published
Close
Publication date2009
Host publicationProceedings of the 7th joint meeting of the European Software Engineering Conference and the ACM Symposium on the Foundations of Software Engineering (ESEC/FSE '09)
Place of PublicationNew York
PublisherACM
Pages213-222
Number of pages10
ISBN (print)978-1-60558-001-2
<mark>Original language</mark>English
EventESEC/FSE 2009 : The 7th joint meeting of the European Software Engineering Conference (ESEC) and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (FSE) - Amsterdam, Netherlands
Duration: 24/08/200928/08/2009

Conference

ConferenceESEC/FSE 2009 : The 7th joint meeting of the European Software Engineering Conference (ESEC) and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (FSE)
Country/TerritoryNetherlands
CityAmsterdam
Period24/08/0928/08/09

Conference

ConferenceESEC/FSE 2009 : The 7th joint meeting of the European Software Engineering Conference (ESEC) and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (FSE)
Country/TerritoryNetherlands
CityAmsterdam
Period24/08/0928/08/09

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.