IntelliCode Compose: Code Generation Using Transformer

  • 2020-05-16 15:47:53
  • Alexey Svyatkovskiy, Shao Kun Deng, Shengyu Fu, Neel Sundaresan
  • 38

Abstract

In software development through integrated development environments (IDEs),code completion is one of the most widely used features. Nevertheless, majorityof integrated development environments only support completion of methods andAPIs, or arguments. In this paper, we introduce IntelliCode Compose $-$ a general-purposemultilingual code completion tool which is capable of predicting sequences ofcode tokens of arbitrary types, generating up to entire lines of syntacticallycorrect code. It leverages state-of-the-art generative transformer modeltrained on 1.2 billion lines of source code in Python, $C\#$, JavaScript andTypeScript programming languages. IntelliCode Compose is deployed as acloud-based web service. It makes use of client-side tree-based caching,efficient parallel implementation of the beam search decoder, and compute graphoptimizations to meet edit-time completion suggestion requirements in theVisual Studio Code IDE and Azure Notebook. Our best model yields an average edit similarity of $86.7\%$ and a perplexityof 1.82 for Python programming language.

 

Quick Read (beta)

loading the full paper ...