Improving Code Autocompletion with Transfer Learning
Software language models have achieved promising results predicting code completion usages, and several industry studies have described successful IDE integrations. Recently, accuracy in autocompletion prediction improved 12.8% from training on a real-world dataset collected from programmers' IDE activity. But what if limited examples of IDE autocompletion in the target programming language are available for model training? In this paper, we investigate the efficacy of pretraining autocompletion models on non-IDE, non-autocompletion, and different-language example code sequences. We find that these unsupervised pretrainings improve model accuracy by over 50% on very small fine-tuning datasets and over 10% on 50k labeled examples. We confirm the real-world impact of these pretrainings in an online setting through A/B testing on thousands of IDE autocompletion users, finding that pretraining is responsible for increases of up to 6.63% autocompletion usage.
Code (0)
등록된 구현이 없습니다.
Tasks
Code CompletionTransfer LearningSimilar Papers 제목 키워드 기반
Learning from flowsheets: A generative transformer model for autocompletion of flowsheets
We propose a novel method enabling autocompletion of chemical flowsheets. This idea is inspired by the autocompletion of text. We represent flowsheets as strings using the text-based SFILES 2.0 notation and learn the gra…
Causal Language ModelingLanguage ModelingLanguage ModellingTransfer LearningReducing Misinformation in Query Autocompletions
Query autocompletions help users of search engines to speed up their searches by recommending completions of partially typed queries in a drop down box. These recommended query autocompletions are usually based on large …
MisinformationEfficient SPARQL Autocompletion via SPARQL
We show how to achieve fast autocompletion for SPARQL queries on very large knowledge bases. At any position in the body of a SPARQL query, the autocompletion suggests matching subjects, predicates, or objects. The sugge…
GWLAN: General Word-Level AutocompletioN for Computer-Aided Translation
Computer-aided translation (CAT), the use of software to assist a human translator in the translation process, has been proven to be useful in enhancing the productivity of human translators. Autocompletion, which sugges…
SentenceTranslationA Deep Learning Framework for Verilog Autocompletion Towards Design and Verification Automation
Innovative Electronic Design Automation (EDA) solutions are important to meet the design requirements for increasingly complex electronic devices. Verilog, a hardware description language, is widely used for the design a…