paper-with-me

홈 › Papers

Language Models for Code Completion: A Practical Evaluation

2024-02-25 · Maliheh Izadi, Jonathan Katzy, Tim van Dam, Marc Otten, Razvan Mihai Popescu, Arie van Deursen

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.

📄 PDF Abstract BibTeX arXiv:2402.16197

Code (1)

aise-tudelft/code4meevaluation 공식 구현 pytorch

Tasks

Code Completionvalid

Similar Papers 제목 키워드 기반

Structure-Aware Corpus Construction and User-Perception-Aligned Metrics for Large-Language-Model Code Completion

2025-05-19 · Dengfeng Liu, Jucai Zhai, Xiaoguang Jiang, Ziqun Li 외

Code completion technology based on large language model has significantly improved the development efficiency of programmers. However, in practical applications, there remains a gap between current commonly used code co…

Code CompletionLanguage ModelingLanguage ModellingLarge Language Model

Enriching Source Code with Contextual Data for Code Completion Models: An Empirical Study

2023-04-24 · Tim van Dam, Maliheh Izadi, Arie van Deursen

Transformer-based pre-trained models have recently achieved great results in solving many software engineering tasks including automatic code completion which is a staple in a developer's toolkit. While many have striven…

Code Completion

Time-Efficient Code Completion Model for the R Programming Language

2021-08-01 · ACL (NLP4Prog) 2021 8 · Artem Popov, Dmitrii Orekhov, Denis Litvinov, Nikolay Korolev 외

In this paper we present a deep learning code completion model for the R language. We introduce several techniques to utilize language modeling based architecture in the code completion task. With these techniques, the m…

Code CompletionLanguage ModelingLanguage Modelling

MHRC-Bench: A Multilingual Hardware Repository-Level Code Completion benchmark

2026-01-07 · Qingyun Zou, Jiahao Cui, Nuo Chen, Bingsheng He 외 arxiv

Large language models (LLMs) have achieved strong performance on code completion tasks in general-purpose programming languages. However, existing repository-level code completion benchmarks focus almost exclusively on s…

Code Completion

RepoMasterEval: Evaluating Code Completion via Real-World Repositories

2024-08-07 · Qinyun Wu, Chao Peng, Pengfei Gao, Ruida Hu 외

With the growing reliance on automated code completion tools in software development, the need for robust evaluation benchmarks has become critical. However, existing benchmarks focus more on code generation tasks in fun…

Code CompletionCode GenerationDescriptive