Neural Code Completion

Chang Liu, Xin Wang, Richard Shin, Joseph E. Gonzalez, Dawn Song

Nov 04, 2016 (modified: Jan 23, 2017) ICLR 2017 conference submission readers: everyone
  • Abstract: Code completion, an essential part of modern software development, yet can bechallenging for dynamically typed programming languages. In this paper we ex-plore the use of neural network techniques to automatically learn code completionfrom a large corpus of dynamically typed JavaScript code. We show differentneural networks that leverage not only token level information but also structuralinformation, and evaluate their performance on different prediction tasks. Wedemonstrate that our models can outperform the state-of-the-art approach, whichis based on decision tree techniques, on both next non-terminal and next terminalprediction tasks by 3.8 points and 0.5 points respectively. We believe that neuralnetwork techniques can play a transformative role in helping software developersmanage the growing complexity of software systems, and we see this work as afirst step in that direction.
  • Conflicts:
  • Keywords: Deep learning, Applications