Litcius/Paper detail

Language Models for Code Completion: A Practical Evaluation

Maliheh Izadi, Jonathan Katzy, Tim van Dam, Marc Otten, Razvan Mihai Popescu, Arie van Deursen

202452 citationsDOIOpen Access PDF

Abstract

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.

Topics & Concepts

Computer scienceBenchmark (surveying)Code (set theory)Language modelTransformerSource codeOpen sourceArtificial intelligenceNatural language processingProgramming languageMachine learningSoftwareVoltageGeographyQuantum mechanicsGeodesySet (abstract data type)PhysicsSoftware Engineering ResearchSoftware System Performance and ReliabilitySoftware Reliability and Analysis Research