In plain words: Models that learn from real logged autocompletion examples, rather than finished code from repositories, suggest better completions. They beat models trained on committed code by 12.8% accuracy, and programmers used their suggestions 6.2% more often.
Abstract
Code completion is a popular software development tool integrated into all major IDEs. Many neural language models have achieved promising results in completion suggestion prediction on synthetic benchmarks. However, a recent study When Code Completion Fails: a Case Study on Real-World Completions demonstrates that these results may not translate to improvements in real-world performance. To combat this effect, we train models on real-world code completion examples and find that these models outperform models trained on committed source code and working version snapshots by 12.8% and 13.8% accuracy respectively. We observe this improvement across modeling technologies and show through A/B testing that it corresponds to a 6.2% increase in programmers' actual autocompletion usage. Furthermore, our study characterizes a large corpus of logged autocompletion usages to investigate why training on real-world examples leads to stronger models.
Gareth Ari Aye, Seohyun Kim, Hongyu Li
arXiv:2011.04542 · cs.SE · submitted Nov 9, 2020
abstract · pdf · html