2021

In-IDE Code Generation from Natural Language: Promise and Challenges

Xu, Frank F., Vasilescu, Bogdan, Neubig, Graham

Understand

A great part of software development involves conceptualizing or communicating the underlying procedures and logic that needs to be expressed in programs.

  • One major difficulty of programming is turning concept into code, especially when dealing with the APIs of unfamiliar libraries.
  • Recently, there has been a proliferation of machine learning methods for code generation and retrieval from natural language queries, but these have primarily been evaluated purely based on retrieval accuracy or overlap of generated code with developer-written code, and the actual effect of these methods on the developer workflow is surprisingly unattested.
  • We perform the first comprehensive investigation of the promise and challenges of using such technology inside the IDE, asking "at the current state of technology does it improve developer productivity or accuracy, how does it affect the developer experience, and what are the remaining gaps and challenges?" We first develop a plugin for the IDE that implements a hybrid of code generation and code retrieval functionality, and orchestrate virtual environments to enable collection of many user events.

Reading the bibliography…