Context Composing for Full Line Code Completion
- URL: http://arxiv.org/abs/2402.09230v1
- Date: Wed, 14 Feb 2024 15:17:37 GMT
- Title: Context Composing for Full Line Code Completion
- Authors: Anton Semenkin, Yaroslav Sokolov, Evgeniia Vu
- Abstract summary: The paper describes our approach to context composing for the Transformer model that is a core of the feature's implementation.
We share our next steps to improve the feature and emphasize the importance of several research aspects in the area.
- Score: 0.46040036610482665
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Code Completion is one of the most used Integrated Development Environment
(IDE) features, which affects the everyday life of a software developer. Modern
code completion approaches moved from the composition of several static
analysis-based contributors to pipelines that involve neural networks. This
change allows the proposal of longer code suggestions while maintaining the
relatively short time spent on generation itself. At JetBrains, we put a lot of
effort into perfecting the code completion workflow so it can be both helpful
and non-distracting for a programmer. We managed to ship the Full Line Code
Completion feature to PyCharm Pro IDE and proved its usefulness in A/B testing
on hundreds of real Python users. The paper describes our approach to context
composing for the Transformer model that is a core of the feature's
implementation. In addition to that, we share our next steps to improve the
feature and emphasize the importance of several research aspects in the area.
Related papers
- On The Importance of Reasoning for Context Retrieval in Repository-Level Code Editing [82.96523584351314]
We decouple the task of context retrieval from the other components of the repository-level code editing pipelines.
We conclude that while the reasoning helps to improve the precision of the gathered context, it still lacks the ability to identify its sufficiency.
arXiv Detail & Related papers (2024-06-06T19:44:17Z) - Full Line Code Completion: Bringing AI to Desktop [3.5296482958373447]
We describe our approach for building a multi-token code completion feature for the JetBrains' IntelliJ Platform.
The feature suggests only syntactically correct code and works fully locally, i.e., data querying and the generation of suggestions happens on the end user's machine.
arXiv Detail & Related papers (2024-05-14T15:42:55Z) - InterCode: Standardizing and Benchmarking Interactive Coding with
Execution Feedback [50.725076393314964]
We introduce InterCode, a lightweight, flexible, and easy-to-use framework of interactive coding as a standard reinforcement learning environment.
Our framework is language and platform agnostic, uses self-contained Docker environments to provide safe and reproducible execution.
We demonstrate InterCode's viability as a testbed by evaluating multiple state-of-the-art LLMs configured with different prompting strategies.
arXiv Detail & Related papers (2023-06-26T17:59:50Z) - LongCoder: A Long-Range Pre-trained Language Model for Code Completion [56.813974784131624]
LongCoder employs a sliding window mechanism for self-attention and introduces two types of globally accessible tokens.
Bridge tokens are inserted throughout the input sequence to aggregate local information and facilitate global interaction.
memory tokens are included to highlight important statements that may be invoked later and need to be memorized.
arXiv Detail & Related papers (2023-06-26T17:59:24Z) - Coeditor: Leveraging Contextual Changes for Multi-round Code Auto-editing [57.776971051512234]
In this work, we explore a multi-round code auto-editing setting, aiming to predict edits to a code region based on recent changes within the same.
Our model, Coeditor, is a fine-tuned language model specifically designed for code editing tasks.
In a simplified single-round, single-edit task, Coeditor significantly outperforms GPT-3.5 and SOTA open-source code completion models.
arXiv Detail & Related papers (2023-05-29T19:57:36Z) - RepoCoder: Repository-Level Code Completion Through Iterative Retrieval
and Generation [96.75695811963242]
RepoCoder is a framework to streamline the repository-level code completion process.
It incorporates a similarity-based retriever and a pre-trained code language model.
It consistently outperforms the vanilla retrieval-augmented code completion approach.
arXiv Detail & Related papers (2023-03-22T13:54:46Z) - ReACC: A Retrieval-Augmented Code Completion Framework [53.49707123661763]
We propose a retrieval-augmented code completion framework, leveraging both lexical copying and referring to code with similar semantics by retrieval.
We evaluate our approach in the code completion task in Python and Java programming languages, achieving a state-of-the-art performance on CodeXGLUE benchmark.
arXiv Detail & Related papers (2022-03-15T08:25:08Z) - Towards Full-line Code Completion with Neural Language Models [25.458883198815393]
We discuss the probability of directly completing a whole line of code instead of a single token.
Recent neural language models have been adopted as a preferred approach for code completion.
arXiv Detail & Related papers (2020-09-18T03:12:13Z) - IntelliCode Compose: Code Generation Using Transformer [7.623136583706195]
We introduce IntelliCode Compose $-$ a general-purpose multilingual code completion tool.
It is capable of predicting sequences of code tokens of arbitrary types, generating up to entire lines of syntactically correct code.
IntelliCode Compose is deployed as a cloud-based web service.
arXiv Detail & Related papers (2020-05-16T15:47:53Z)
This list is automatically generated from the titles and abstracts of the papers in this site.
This site does not guarantee the quality of this site (including all information) and is not responsible for any consequences.