Natural Language-Guided Programming

  • 2021-10-07 14:06:04
  • Geert Heyman, Rafael Huysegems, Pascal Justen, Tom Van Cutsem
  • 0

Abstract

In today's software world with its cornucopia of reusable software libraries,when a programmer is faced with a programming task that they suspect can becompleted through the use of a library, they often look for code examples usinga search engine and then manually adapt found examples to their specificcontext of use. We put forward a vision based on a new breed of developer toolsthat have the potential to largely automate this process. The key idea is toadapt code autocompletion tools such that they take into account not only thedeveloper's already-written code but also the intent of the task the developeris trying to achieve next, formulated in plain natural language. We call thispractice of enriching the code with natural language intent to facilitate itscompletion natural language-guided programming. To show that this idea is feasible we design, implement and benchmark a toolthat solves this problem in the context of a specific domain (data science) anda specific programming language (Python). Central to the tool is the use oflanguage models trained on a large corpus of documented code. Our initialexperiments confirm the feasibility of the idea but also make it clear that wehave only scratched the surface of what may become possible in the future. Weend the paper with a comprehensive research agenda to stimulate additionalresearch in the budding area of natural language-guided programming.

 

Quick Read (beta)

loading the full paper ...