In-IDE Code Generation from Natural Language: Promise and Challenges
Not on the map. Why?
Abstract (arXiv)
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. We ask developers with various backgrounds to complete 14 Python programming tasks ranging from basic file manipulation to machine learning or data visualization, with or without the help of the plugin. While qualitative surveys of developer experience are largely positive, quantitative results with regards to increased productivity, code quality, or program correctness are inconclusive. Analysis identifies several pain points that could improve the effectiveness of future machine learning based code generation/retrieval developer assistants, and demonstrates when developers prefer code generation over code retrieval and vice versa. We release all data and software to pave the road for future empirical studies and development of better models.
Key facts. Cited by 41 papers in the map (data through 7 Oct 2026). First posted on arXiv 27 Jan 2021.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2021: 7; 2022: 7; 2023: 10; 2024: 6; 2025: 10; 2026: 1.
41 papers.
Sort:
By area:
- 2021Evaluating Large Language Models Trained on Codecited by 8,053
- 2022Synchromesh: Reliable code generation from pre-trained language modelscited by 156
- 2021Retrieval Augmented Code Generation and Summarizationcited by 148
- 2022Productivity Assessment of Neural Code Completioncited by 97
- 2023A Large-Scale Survey on the Usability of AI Programming Assistants: Successes and Challengescited by 75
- 2023Is ChatGPT the Ultimate Programming Assistant -- How far is it?cited by 72
- 2023Clover: Closed-Loop Verifiable Code Generationcited by 62
- 2022What is it like to program with artificial intelligence?cited by 39
- 2023MCU: An Evaluation Framework for Open-Ended Game Agentscited by 33
- 2023Outline, Then Details: Syntactically Guided Coarse-To-Fine Code Generationcited by 27
- 2023Refactoring Programs Using Large Language Models with Few-Shot Examplescited by 27
- 2024Why and When LLM-Based Assistants Can Go Wrong: Investigating the Effectiveness of Prompt-Based Interactions for Software Help-Seekingcited by 24
29 more
- 2022A Hazard Analysis Framework for Code Synthesis Large Language Modelscited by 22
- 2024Benchmarks and Metrics for Evaluations of Code Generation: A Critical Reviewcited by 19
- 2023ANPL: Towards Natural Programming with Interactive Decompositioncited by 13
- 2024Rocks Coding, Not Development--A Human-Centric, Experimental Evaluation of LLM-Supported SE Taskscited by 13
- 2021Toward Code Generation: A Survey and Lessons from Semantic Parsingcited by 8
- 2021Reading StackOverflow Encourages Cheating: Adding Question Text Improves Extractive Code Generationcited by 8
- 2024AutoCoder: Enhancing Code Large Language Model with textscAIEV-Instructcited by 8
- 2023Architext: Language-Driven Generative Architecture Designcited by 5
- 2024Cocobo: Exploring Large Language Models as the Engine for End-User Robot Programmingcited by 5
- 2025Towards Advancing Code Generation with Large Language Models: A Research Roadmapcited by 5
- 2025Do It For Me vs. Do It With Me: Investigating User Perceptions of Different Paradigms of Automation in Copilots for Feature-Rich Softwarecited by 5
- 2021Automatic Document Sketching: Generating Drafts from Analogous Textscited by 4
- 2021Natural Language-Guided Programmingcited by 4
- 2021Cascaded Fast and Slow Models for Efficient Semantic Code Searchcited by 4
- 2025The Impact of LLM-Assistants on Software Developer Productivity: A Systematic Review and Mapping Studycited by 4
- 2022A Survey on Artificial Intelligence for Source Code: A Dialogue Systems Perspectivecited by 3
- 2022NS3: Neuro-Symbolic Semantic Code Searchcited by 3
- 2023AI for Low-Code for AIcited by 3
- 2023Pop Quiz! Do Pre-trained Code Models Possess Knowledge of Correct API Names?cited by 3
- 2025On Simulation-Guided LLM-based Code Generation for Safe Autonomous Driving Softwarecited by 3
- 2025Enhancing Code Generation via Bidirectional Comment-Level Mutual Groundingcited by 3
- 2025SketchAgent: Generating Structured Diagrams from Hand-Drawn Sketchescited by 3
- 2024Self-Explained Keywords Empower Large Language Models for Code Generationcited by 2
- 2025CodeWatcher: IDE Telemetry Data Extraction Tool for Understanding Coding Interactions with LLMscited by 2
- 2025Breaking Memorization Barriers in LLM Code Fine-Tuning via Information Bottleneck for Improved Generalizationcited by 1
- 2022Semantic Code Classification for Automated Machine Learningcited by 0
- 2025SVAgent: AI Agent for Hardware Security Verification Assertioncited by 0
- 2025Cracking CodeWhisperer: Analyzing Developers' Interactions and Patterns During Programming Taskscited by 0
- 2026The Invisible Hand of AI Libraries Shaping Open Source Projects and Communitiescited by 0
- 2026The Invisible Hand of AI Libraries Shaping Open Source Projects and Communities5 Jan 2026
- 2025Breaking Memorization Barriers in LLM Code Fine-Tuning via Information Bottleneck for Improved Generalization15 Oct 2025
- 2025CodeWatcher: IDE Telemetry Data Extraction Tool for Understanding Coding Interactions with LLMs13 Oct 2025
- 2025Cracking CodeWhisperer: Analyzing Developers' Interactions and Patterns During Programming Tasks13 Oct 2025
- 2025SketchAgent: Generating Structured Diagrams from Hand-Drawn Sketches2 Aug 2025
- 2025SVAgent: AI Agent for Hardware Security Verification Assertion22 Jul 2025
- 2025The Impact of LLM-Assistants on Software Developer Productivity: A Systematic Review and Mapping Study3 Jul 2025
- 2025Enhancing Code Generation via Bidirectional Comment-Level Mutual Grounding12 May 2025
- 2025Do It For Me vs. Do It With Me: Investigating User Perceptions of Different Paradigms of Automation in Copilots for Feature-Rich Software22 Apr 2025
- 2025On Simulation-Guided LLM-based Code Generation for Safe Autonomous Driving Software2 Apr 2025
- 2025Towards Advancing Code Generation with Large Language Models: A Research Roadmap20 Jan 2025
- 2024Self-Explained Keywords Empower Large Language Models for Code Generation21 Oct 2024
29 more
- 2024Cocobo: Exploring Large Language Models as the Engine for End-User Robot Programming30 Jul 2024
- 2024Benchmarks and Metrics for Evaluations of Code Generation: A Critical Review18 Jun 2024
- 2024AutoCoder: Enhancing Code Large Language Model with textscAIEV-Instruct23 May 2024
- 2024Why and When LLM-Based Assistants Can Go Wrong: Investigating the Effectiveness of Prompt-Based Interactions for Software Help-Seeking12 Feb 2024
- 2024Rocks Coding, Not Development--A Human-Centric, Experimental Evaluation of LLM-Supported SE Tasks8 Feb 2024
- 2023Refactoring Programs Using Large Language Models with Few-Shot Examples20 Nov 2023
- 2023Clover: Closed-Loop Verifiable Code Generation26 Oct 2023
- 2023MCU: An Evaluation Framework for Open-Ended Game Agents12 Oct 2023
- 2023Pop Quiz! Do Pre-trained Code Models Possess Knowledge of Correct API Names?14 Sep 2023
- 2023AI for Low-Code for AI31 May 2023
- 2023ANPL: Towards Natural Programming with Interactive Decomposition29 May 2023
- 2023Outline, Then Details: Syntactically Guided Coarse-To-Fine Code Generation28 Apr 2023
- 2023Is ChatGPT the Ultimate Programming Assistant -- How far is it?24 Apr 2023
- 2023A Large-Scale Survey on the Usability of AI Programming Assistants: Successes and Challenges30 Mar 2023
- 2023Architext: Language-Driven Generative Architecture Design13 Mar 2023
- 2022What is it like to program with artificial intelligence?12 Aug 2022
- 2022A Hazard Analysis Framework for Code Synthesis Large Language Models25 Jul 2022
- 2022NS3: Neuro-Symbolic Semantic Code Search21 May 2022
- 2022Productivity Assessment of Neural Code Completion13 May 2022
- 2022A Survey on Artificial Intelligence for Source Code: A Dialogue Systems Perspective10 Feb 2022
- 2022Synchromesh: Reliable code generation from pre-trained language models26 Jan 2022
- 2022Semantic Code Classification for Automated Machine Learning25 Jan 2022
- 2021Cascaded Fast and Slow Models for Efficient Semantic Code Search15 Oct 2021
- 2021Retrieval Augmented Code Generation and Summarization26 Aug 2021
- 2021Natural Language-Guided Programming11 Aug 2021
- 2021Evaluating Large Language Models Trained on Code7 Jul 2021
- 2021Automatic Document Sketching: Generating Drafts from Analogous Texts14 Jun 2021
- 2021Reading StackOverflow Encourages Cheating: Adding Question Text Improves Extractive Code Generation8 Jun 2021
- 2021Toward Code Generation: A Survey and Lessons from Semantic Parsing26 Apr 2021
- 2021Retrieval Augmented Code Generation and Summarizationcited by 148
- 2021Retrieval Augmented Code Generation and Summarization26 Aug 2021
- 2021Evaluating Large Language Models Trained on Codecited by 8,053
- 2022Synchromesh: Reliable code generation from pre-trained language modelscited by 156
- 2022Productivity Assessment of Neural Code Completioncited by 97
- 2023A Large-Scale Survey on the Usability of AI Programming Assistants: Successes and Challengescited by 75
- 2023Is ChatGPT the Ultimate Programming Assistant -- How far is it?cited by 72
- 2023Clover: Closed-Loop Verifiable Code Generationcited by 62
- 2022What is it like to program with artificial intelligence?cited by 39
- 2023MCU: An Evaluation Framework for Open-Ended Game Agentscited by 33
- 2023Outline, Then Details: Syntactically Guided Coarse-To-Fine Code Generationcited by 27
- 2023Refactoring Programs Using Large Language Models with Few-Shot Examplescited by 27
- 2024Why and When LLM-Based Assistants Can Go Wrong: Investigating the Effectiveness of Prompt-Based Interactions for Software Help-Seekingcited by 24
- 2022A Hazard Analysis Framework for Code Synthesis Large Language Modelscited by 22
12 most cited of 39 All 39 (JSON)
- 2026The Invisible Hand of AI Libraries Shaping Open Source Projects and Communities5 Jan 2026
- 2025Breaking Memorization Barriers in LLM Code Fine-Tuning via Information Bottleneck for Improved Generalization15 Oct 2025
- 2025CodeWatcher: IDE Telemetry Data Extraction Tool for Understanding Coding Interactions with LLMs13 Oct 2025
- 2025Cracking CodeWhisperer: Analyzing Developers' Interactions and Patterns During Programming Tasks13 Oct 2025
- 2025SketchAgent: Generating Structured Diagrams from Hand-Drawn Sketches2 Aug 2025
- 2025SVAgent: AI Agent for Hardware Security Verification Assertion22 Jul 2025
- 2025The Impact of LLM-Assistants on Software Developer Productivity: A Systematic Review and Mapping Study3 Jul 2025
- 2025Enhancing Code Generation via Bidirectional Comment-Level Mutual Grounding12 May 2025
- 2025Do It For Me vs. Do It With Me: Investigating User Perceptions of Different Paradigms of Automation in Copilots for Feature-Rich Software22 Apr 2025
- 2025Towards Advancing Code Generation with Large Language Models: A Research Roadmap20 Jan 2025
- 2024Self-Explained Keywords Empower Large Language Models for Code Generation21 Oct 2024
- 2024Cocobo: Exploring Large Language Models as the Engine for End-User Robot Programming30 Jul 2024
12 newest of 39 All 39 (JSON)