Natural Language-Guided Programming
Not on the map. Why?
Abstract (arXiv)
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 be completed through the use of a library, they often look for code examples using a search engine and then manually adapt found examples to their specific context of use. We put forward a vision based on a new breed of developer tools that have the potential to largely automate this process. The key idea is to adapt code autocompletion tools such that they take into account not only the developer's already-written code but also the intent of the task the developer is trying to achieve next, formulated in plain natural language. We call this practice of enriching the code with natural language intent to facilitate its completion natural language-guided programming. To show that this idea is feasible we design, implement and benchmark a tool that solves this problem in the context of a specific domain (data science) and a specific programming language (Python). Central to the tool is the use of language models trained on a large corpus of documented code. Our initial experiments confirm the feasibility of the idea but also make it clear that we have only scratched the surface of what may become possible in the future. We end the paper with a comprehensive research agenda to stimulate additional research in the budding area of natural language-guided programming.
Key facts. Cited by 4 papers in the map (data through 14 Oct 2026). Builds on 27 of its 56 references that are in the map. First posted on arXiv 11 Aug 2021.
Builds on
27 of 56 references.
References · 27
- 2017Attention Is All You Needcited by 60,361
- 2020Language Models are Few-Shot Learnerscited by 32,419
- 2021Evaluating Large Language Models Trained on Codecited by 8,320
- 2018GLUE: A Multi-Task Benchmark and Analysis Platform for Natural Language Understandingcited by 4,899
- 2015Neural Machine Translation of Rare Words with Subword Unitscited by 2,918
- 2019HuggingFace's Transformers: State-of-the-art Natural Language Processingcited by 2,218
- 2019CodeSearchNet Challenge: Evaluating the State of Semantic Code Searchcited by 654
- 2020IntelliCode Compose: Code Generation Using Transformercited by 227
- 2018Learning to Mine Aligned Code and Natural Language Pairs from Stack Overflowcited by 165
- 2018Mapping Language to Code in Programmatic Contextcited by 104
- 2018TRANX: A Transition-based Neural Abstract Syntax Parser for Semantic Parsing and Code Generationcited by 88
- 2020PyMT5: multi-mode translation of natural language and Python code with transformerscited by 80
15 more
- 2017A parallel corpus of Python functions and documentation strings for automated code documentation and code generationcited by 57
- 2019JuICe: A Large Scale Distantly Supervised Dataset for Open Domain Context-based Code Generationcited by 49
- 2021In-IDE Code Generation from Natural Language: Promise and Challengescited by 42
- 2015Program Synthesis using Natural Languagecited by 41
- 2016Deep API Learningcited by 41
- 2020Incorporating External Knowledge through Pre-training for Natural Language to Code Generationcited by 36
- 2018StaQC: A Systematically Mined Question-Code Dataset from Stack Overflowcited by 30
- 2020Neural Code Search Revisited: Enhancing Code Snippet Retrieval through Natural Language Intentcited by 16
- 2019An Empirical Study of Obsolete Answers on Stack Overflowcited by 14
- 2015SWIM: Synthesizing What I Meancited by 10
- 2018Toxic Code Snippets on Stack Overflowcited by 9
- 2021Reading StackOverflow Encourages Cheating: Adding Question Text Improves Extractive Code Generationcited by 8
- 2016From Query to Usable Code: An Analysis of Stack Overflow Code Snippetscited by 6
- 2019Maybe Deep Neural Networks are the Best Choice for Modeling Source Codecited by 5
- 2017Neural Sketch Learning for Conditional Program Generationcited by 3
Built on by
Citing papers per year: 2022: 3; 2023: 1.
4 papers.
- 2022Natural Language to Code Generation in Interactive Data Science Notebookscited by 87
- 2022Conversing with Copilot: Exploring Prompt Engineering for Solving CS1 Problems Using Natural Languagecited by 82
- 2023Automating Code-Related Tasks Through Transformers: The Impact of Pre-trainingcited by 8
- 2022ObSynth: An Interactive Synthesis System for Generating Object Models from Natural Language Specificationscited by 1
- 2023Automating Code-Related Tasks Through Transformers: The Impact of Pre-training8 Feb 2023
- 2022Natural Language to Code Generation in Interactive Data Science Notebooks19 Dec 2022
- 2022Conversing with Copilot: Exploring Prompt Engineering for Solving CS1 Problems Using Natural Language27 Oct 2022
- 2022ObSynth: An Interactive Synthesis System for Generating Object Models from Natural Language Specifications20 Oct 2022