Language Models for Code Completion: A Practical Evaluation
Not on the map. Why?
Abstract (arXiv)
Transformer-based language models for automatic code completion have shown great promise so far, yet the evaluation of these models rarely uses real data. This study provides both quantitative and qualitative assessments of three public code language models when completing real-world code. We first developed an open-source IDE extension, Code4Me, for the online evaluation of the models. We collected real auto-completion usage data for over a year from more than 1200 users, resulting in over 600K valid completions. These models were then evaluated using six standard metrics across twelve programming languages. Next, we conducted a qualitative study of 1690 real-world completion requests to identify the reasons behind the poor model performance. A comparative analysis of the models' performance in online and offline settings was also performed, using benchmark synthetic datasets and two masking strategies. Our findings suggest that while developers utilize code completion across various languages, the best results are achieved for mainstream languages such as Python and Java. InCoder outperformed the other models across all programming languages, highlighting the significance of training data and objectives. Our study also revealed that offline evaluations do not accurately reflect real-world scenarios. Upon qualitative analysis of the model's predictions, we found that 66.3% of failures were due to the models' limitations, 24.4% occurred due to inappropriate model usage in a development context, and 9.3% were valid requests that developers overwrote. Given these findings, we propose several strategies to overcome the current limitations. These include refining training objectives, improving resilience to typographical errors, adopting hybrid approaches, and enhancing implementations and usability.
Key facts. Cited by 38 papers in the map (data through 7 Oct 2026). Builds on 31 of its 47 references that are in the map. First posted on arXiv 25 Feb 2024.
Builds on
31 of 47 references.
References · 31
- 2018BERT: Pre-training of Deep Bidirectional Transformers for Language Understandingcited by 40,204
- 2019Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformercited by 14,491
- 2019RoBERTa: A Robustly Optimized BERT Pretraining Approachcited by 13,266
- 2021Evaluating Large Language Models Trained on Codecited by 8,053
- 2023Pythia: A Suite for Analyzing Large Language Models Across Training and Scalingcited by 1,734
- 2020CodeBERT: A Pre-Trained Model for Programming and Natural Languagescited by 1,286
- 2021CodeT5: Identifier-aware Unified Pre-trained Encoder-Decoder Models for Code Understanding and Generationcited by 890
- 2021CodeXGLUE: A Machine Learning Benchmark Dataset for Code Understanding and Generationcited by 732
- 2022GPT-NeoX-20B: An Open-Source Autoregressive Language Modelcited by 711
- 2019CodeSearchNet Challenge: Evaluating the State of Semantic Code Searchcited by 638
- 2020GraphCodeBERT: Pre-training Code Representations with Data Flowcited by 600
- 2022InCoder: A Generative Model for Code Infilling and Synthesiscited by 492
19 more
- 2022A Systematic Evaluation of Large Language Models of Codecited by 360
- 2020IntelliCode Compose: Code Generation Using Transformercited by 225
- 2023SantaCoder: don't reach for the stars!cited by 169
- 2022CM3: A Causal Masked Multimodal Model of the Internetcited by 142
- 2018The Adverse Effects of Code Duplication in Machine Learning Models of Codecited by 123
- 2022Productivity Assessment of Neural Code Completioncited by 97
- 2020Code Prediction by Feeding Trees to Transformerscited by 70
- 2022Out of the BLEU: how should we assess quality of the Code Generation models?cited by 65
- 2022CodeFill: Multi-token Code Completion by Jointly Learning from Structure and Naming Sequencescited by 49
- 2023Extending Source Code Pre-Trained Language Models to Summarise Decompiled Binariescited by 25
- 2021An Empirical Study on the Usage of BERT Models for Code Completioncited by 22
- 2021An Empirical Study on the Usage of Transformer Models for Code Completioncited by 22
- 2020Topic Recommendation for Software Repositories using Multi-label Classification Algorithmscited by 20
- 2020Learning Autocompletion from Real-World Datasetscited by 19
- 2022All You Need Is Logs: Improving Code Completion by Learning from Anonymous IDE Usage Logscited by 8
- 2023Enriching Source Code with Contextual Data for Code Completion Models: An Empirical Studycited by 7
- 2022On the Evaluation of NLP-based Models for Software Engineeringcited by 5
- 2023On the Impact of Language Selection for Training and Evaluating Programming Language Modelscited by 4
- 2018Generating Summaries for Methods of Event-Driven Programs: an Android Case Studycited by 3
Built on by
Citing papers per year: 2024: 6; 2025: 18; 2026: 14.
38 papers.
Sort:
By area:
- 2024A Survey on LLM-based Code Generation for Low-Resource and Domain-Specific Programming Languagescited by 65
- 2026Agentic Much? Adoption of Coding Agents on GitHubcited by 31
- 2024Leveraging Large Language Models for Enhancing the Understandability of Generated Unit Testscited by 11
- 2025SwiftSpec: Ultra-Low Latency LLM Decoding by Scaling Asynchronous Speculative Decodingcited by 9
- 2024Watson: A Cognitive Observability Framework for the Reasoning of LLM-Powered Agentscited by 8
- 2024Investigating the Performance of Language Models for Completing Code in Functional Programming Languages: a Haskell Case Studycited by 7
- 2024Planning-Driven Programming: A Large Language Model Programming Workflowcited by 7
- 2026AlignCoder: Aligning Retrieval with Target Intent for Repository-Level Code Completioncited by 7
- 2025Code Red! On the Harmfulness of Applying Off-the-shelf Large Language Models to Programming Taskscited by 6
- 2026Promises, Perils, and (Timely) Heuristics for Mining Coding Agent Activitycited by 6
- 2024A Transformer-Based Approach for Smart Invocation of Automatic Code Completioncited by 5
- 2025Human-AI Experience in Integrated Development Environments: A Systematic Literature Reviewcited by 5
26 more
- 2025A Deep Dive into Retrieval-Augmented Generation for Code Completion: Experience on WeChatcited by 5
- 2026Scaling Agentic Verifier for Competitive Codingcited by 5
- 2025Detection of LLM-Paraphrased Code and Identification of the Responsible LLM Using Coding Style Featurescited by 4
- 2026Beware What You Autocomplete: Forensic Attribution of Backdoored Code Completionscited by 4
- 2025The Fools are Certain; the Wise are Doubtful: Exploring LLM Confidence in Code Completioncited by 3
- 2025SpecAgent: A Speculative Retrieval and Forecasting Agent for Code Completioncited by 3
- 2026Investigating Autonomous Agent Contributions in the Wild: Activity Patterns and Code Change over Timecited by 3
- 2026Do Agents Dream of Root Shells? Partial-Credit Evaluation of LLM Agents in Capture the Flag Challengescited by 3
- 2025Rethinking IDE Customization for Enhanced HAX: A Hyperdimensional Perspectivecited by 2
- 2025A Qualitative Investigation into LLM-Generated Multilingual Code Comments and Automatic Evaluation Metricscited by 2
- 2025Next Edit Prediction: Learning to Predict Code Edits from Context and Interaction Historycited by 2
- 2025Prompt-with-Me: in-IDE Structured Prompt Management for LLM-Driven Software Engineeringcited by 1
- 2026Model See, Model Do? Exposure-Aware Evaluation of Bug-vs-Fix Preference in Code LLMscited by 1
- 2026Bridging Generation and Training: A Systematic Review of Quality Issues in LLMs for Codecited by 1
- 2026Evaluating Language Models on Cross-Language Code Functional Equivalencecited by 1
- 2025Structure-Aware Corpus Construction and User-Perception-Aligned Metrics for Large-Language-Model Code Completioncited by 0
- 2025TreeRanker: Fast and Model-agnostic Ranking System for Code Suggestions in IDEscited by 0
- 2025Evaluating Large Language Models for Functional and Maintainable Code in Industrial Settings: A Case Study at ASMLcited by 0
- 2025Code4MeV2: a Research-oriented Code-completion Platformcited by 0
- 2025Relative Positioning Based Code Chunking Method For Rich Context Retrieval In Repository Level Code Completion Task With Code Language Modelcited by 0
- 2025An Interdisciplinary and Cross-Task Review on Missing Data Imputationcited by 0
- 2025AI for software engineering: from probable to provablecited by 0
- 2026A Benchmark and Framework for Evaluating Next Action Predictions in Spreadsheetscited by 0
- 2026Repository-Level Solidity Code Generation with Large Language Models: From Prompting to Fine-Tuningcited by 0
- 2026Refused in Chat, Written in Code: Workflow-Level Jailbreak Construction in IDE Coding Agentscited by 0
- 2026Characterizing the Quality Profile of AI-Generated C++ in Productioncited by 0
- 2026Evaluating Language Models on Cross-Language Code Functional Equivalence25 Aug 2026
- 2026Characterizing the Quality Profile of AI-Generated C++ in Production6 Aug 2026
- 2026Beware What You Autocomplete: Forensic Attribution of Backdoored Code Completions9 Jul 2026
- 2026Refused in Chat, Written in Code: Workflow-Level Jailbreak Construction in IDE Coding Agents4 Jul 2026
- 2026Repository-Level Solidity Code Generation with Large Language Models: From Prompting to Fine-Tuning18 Jun 2026
- 2026A Benchmark and Framework for Evaluating Next Action Predictions in Spreadsheets11 Jun 2026
- 2026Bridging Generation and Training: A Systematic Review of Quality Issues in LLMs for Code6 May 2026
- 2026Do Agents Dream of Root Shells? Partial-Credit Evaluation of LLM Agents in Capture the Flag Challenges21 Apr 2026
- 2026Investigating Autonomous Agent Contributions in the Wild: Activity Patterns and Code Change over Time1 Apr 2026
- 2026Scaling Agentic Verifier for Competitive Coding4 Feb 2026
- 2026AlignCoder: Aligning Retrieval with Target Intent for Repository-Level Code Completion27 Jan 2026
- 2026Promises, Perils, and (Timely) Heuristics for Mining Coding Agent Activity26 Jan 2026
26 more
- 2026Agentic Much? Adoption of Coding Agents on GitHub26 Jan 2026
- 2026Model See, Model Do? Exposure-Aware Evaluation of Bug-vs-Fix Preference in Code LLMs15 Jan 2026
- 2025AI for software engineering: from probable to provable28 Nov 2025
- 2025An Interdisciplinary and Cross-Task Review on Missing Data Imputation3 Nov 2025
- 2025SpecAgent: A Speculative Retrieval and Forecasting Agent for Code Completion20 Oct 2025
- 2025Relative Positioning Based Code Chunking Method For Rich Context Retrieval In Repository Level Code Completion Task With Code Language Model7 Oct 2025
- 2025Code4MeV2: a Research-oriented Code-completion Platform4 Oct 2025
- 2025Prompt-with-Me: in-IDE Structured Prompt Management for LLM-Driven Software Engineering21 Sep 2025
- 2025Evaluating Large Language Models for Functional and Maintainable Code in Industrial Settings: A Case Study at ASML15 Sep 2025
- 2025The Fools are Certain; the Wise are Doubtful: Exploring LLM Confidence in Code Completion22 Aug 2025
- 2025Next Edit Prediction: Learning to Predict Code Edits from Context and Interaction History13 Aug 2025
- 2025TreeRanker: Fast and Model-agnostic Ranking System for Code Suggestions in IDEs4 Aug 2025
- 2025A Deep Dive into Retrieval-Augmented Generation for Code Completion: Experience on WeChat24 Jul 2025
- 2025SwiftSpec: Ultra-Low Latency LLM Decoding by Scaling Asynchronous Speculative Decoding12 Jun 2025
- 2025A Qualitative Investigation into LLM-Generated Multilingual Code Comments and Automatic Evaluation Metrics21 May 2025
- 2025Structure-Aware Corpus Construction and User-Perception-Aligned Metrics for Large-Language-Model Code Completion19 May 2025
- 2025Code Red! On the Harmfulness of Applying Off-the-shelf Large Language Models to Programming Tasks2 Apr 2025
- 2025Human-AI Experience in Integrated Development Environments: A Systematic Literature Review8 Mar 2025
- 2025Detection of LLM-Paraphrased Code and Identification of the Responsible LLM Using Coding Style Features25 Feb 2025
- 2025Rethinking IDE Customization for Enhanced HAX: A Hyperdimensional Perspective5 Jan 2025
- 2024Planning-Driven Programming: A Large Language Model Programming Workflow21 Nov 2024
- 2024Watson: A Cognitive Observability Framework for the Reasoning of LLM-Powered Agents5 Nov 2024
- 2024A Survey on LLM-based Code Generation for Low-Resource and Domain-Specific Programming Languages4 Oct 2024
- 2024Leveraging Large Language Models for Enhancing the Understandability of Generated Unit Tests21 Aug 2024
- 2024A Transformer-Based Approach for Smart Invocation of Automatic Code Completion23 May 2024
- 2024Investigating the Performance of Language Models for Completing Code in Functional Programming Languages: a Haskell Case Study22 Mar 2024
- 2026Agentic Much? Adoption of Coding Agents on GitHubcited by 31
- 2026Promises, Perils, and (Timely) Heuristics for Mining Coding Agent Activitycited by 6
- 2026Scaling Agentic Verifier for Competitive Codingcited by 5
- 2025SpecAgent: A Speculative Retrieval and Forecasting Agent for Code Completioncited by 3
- 2026Investigating Autonomous Agent Contributions in the Wild: Activity Patterns and Code Change over Timecited by 3
- 2026Do Agents Dream of Root Shells? Partial-Credit Evaluation of LLM Agents in Capture the Flag Challengescited by 3
- 2026Refused in Chat, Written in Code: Workflow-Level Jailbreak Construction in IDE Coding Agentscited by 0
- 2026Refused in Chat, Written in Code: Workflow-Level Jailbreak Construction in IDE Coding Agents4 Jul 2026
- 2026Do Agents Dream of Root Shells? Partial-Credit Evaluation of LLM Agents in Capture the Flag Challenges21 Apr 2026
- 2026Investigating Autonomous Agent Contributions in the Wild: Activity Patterns and Code Change over Time1 Apr 2026
- 2026Scaling Agentic Verifier for Competitive Coding4 Feb 2026
- 2026Promises, Perils, and (Timely) Heuristics for Mining Coding Agent Activity26 Jan 2026
- 2026Agentic Much? Adoption of Coding Agents on GitHub26 Jan 2026
- 2025SpecAgent: A Speculative Retrieval and Forecasting Agent for Code Completion20 Oct 2025
- 2024A Survey on LLM-based Code Generation for Low-Resource and Domain-Specific Programming Languagescited by 65
- 2024Leveraging Large Language Models for Enhancing the Understandability of Generated Unit Testscited by 11
- 2024Investigating the Performance of Language Models for Completing Code in Functional Programming Languages: a Haskell Case Studycited by 7
- 2024Planning-Driven Programming: A Large Language Model Programming Workflowcited by 7
- 2026AlignCoder: Aligning Retrieval with Target Intent for Repository-Level Code Completioncited by 7
- 2025Code Red! On the Harmfulness of Applying Off-the-shelf Large Language Models to Programming Taskscited by 6
- 2024A Transformer-Based Approach for Smart Invocation of Automatic Code Completioncited by 5
- 2025Human-AI Experience in Integrated Development Environments: A Systematic Literature Reviewcited by 5
- 2025Detection of LLM-Paraphrased Code and Identification of the Responsible LLM Using Coding Style Featurescited by 4
- 2025The Fools are Certain; the Wise are Doubtful: Exploring LLM Confidence in Code Completioncited by 3
- 2025Rethinking IDE Customization for Enhanced HAX: A Hyperdimensional Perspectivecited by 2
- 2025A Qualitative Investigation into LLM-Generated Multilingual Code Comments and Automatic Evaluation Metricscited by 2
12 most cited of 26 All 26 (JSON)
- 2026Evaluating Language Models on Cross-Language Code Functional Equivalence25 Aug 2026
- 2026Characterizing the Quality Profile of AI-Generated C++ in Production6 Aug 2026
- 2026A Benchmark and Framework for Evaluating Next Action Predictions in Spreadsheets11 Jun 2026
- 2026Bridging Generation and Training: A Systematic Review of Quality Issues in LLMs for Code6 May 2026
- 2026AlignCoder: Aligning Retrieval with Target Intent for Repository-Level Code Completion27 Jan 2026
- 2026Model See, Model Do? Exposure-Aware Evaluation of Bug-vs-Fix Preference in Code LLMs15 Jan 2026
- 2025AI for software engineering: from probable to provable28 Nov 2025
- 2025An Interdisciplinary and Cross-Task Review on Missing Data Imputation3 Nov 2025
- 2025Relative Positioning Based Code Chunking Method For Rich Context Retrieval In Repository Level Code Completion Task With Code Language Model7 Oct 2025
- 2025Code4MeV2: a Research-oriented Code-completion Platform4 Oct 2025
- 2025Prompt-with-Me: in-IDE Structured Prompt Management for LLM-Driven Software Engineering21 Sep 2025
- 2025Evaluating Large Language Models for Functional and Maintainable Code in Industrial Settings: A Case Study at ASML15 Sep 2025
12 newest of 26 All 26 (JSON)