paper-with-me

홈 › Papers

CodeFill: Multi-token Code Completion by Jointly Learning from Structure and Naming Sequences

2022-02-14 · Maliheh Izadi, Roberta Gismondi, Georgios Gousios

Code completion is an essential feature of IDEs, yet current autocompleters are restricted to either grammar-based or NLP-based single token completions. Both approaches have significant drawbacks: grammar-based autocompletion is restricted in dynamically-typed language environments, whereas NLP-based autocompleters struggle to understand the semantics of the programming language and the developer's code context. In this work, we present CodeFill, a language model for autocompletion that combines learned structure and naming information. Using a parallel Transformer architecture and multi-task learning, CodeFill consumes sequences of source code token names and their equivalent AST token types. Uniquely, CodeFill is trained both for single-token and multi-token (statement) prediction, which enables it to learn long-range dependencies among grammatical and naming elements. We train CodeFill on two datasets, consisting of 29M and 425M lines of code, respectively. To make the evaluation more realistic, we develop a method to automatically infer points in the source code at which completion matters. We compare CodeFill against four baselines and two state-of-the-art models, GPT-C and TravTrans+.CodeFill surpasses all baselines in single token prediction (MRR: 70.9% vs. 66.2% and 67.8%) and outperforms the state of the art for multi-token prediction (ROUGE-L: 63.7% vs. 52.4% and 59.2%, for n=4 tokens). We publicly release our source code and datasets.

📄 PDF Abstract BibTeX arXiv:2202.06689

Code (1)

saltudelft/codefill 공식 구현

Tasks

Code CompletionLanguage ModellingMulti-Task Learning

Methods 이 논문이 사용한 방법론

Attention 설명 없음
Linear Layer A Linear Layer is a projection $\mathbf{XW + b}$.
Softmax The Softmax output function transforms a previous layer's output into a vector of probabilities. It is commonly used for multiclass classification. Given an input vector $x$…
Layer Normalization Unlike batch normalization, Layer Normalization directly estimates the normalization statistics from the summed inputs…
Multi-Head Attention 설명 없음
Dense Connections Dense Connections, or Fully Connected Connections, are a type of layer in a deep neural network that use a linear operation where every input is connected to every output…
BPE Byte Pair Encoding, or BPE, is a subword segmentation algorithm that encodes rare and unknown words as sequences of subword units. The intuition is that various word…
Dropout Dropout is a regularization technique for neural networks that drops a unit (along with connections) at training time with a specified probability $p$ (a common value is…

Similar Papers 제목 키워드 기반

Communication-Efficient Collaborative Perception via Information Filling with Codebook

2024-05-08 · CVPR 2024 1 · Yue Hu, Juntong Peng, Sifei Liu, Junhao Ge 외

Collaborative perception empowers each agent to improve its perceptual ability through the exchange of perceptual messages with other agents. It inherently results in a fundamental trade-off between perception ability an…

A Two-Stage Masked Autoencoder Based Network for Indoor Depth Completion

2024-06-14 · Kailai Sun, Zhou Yang, Qianchuan Zhao

Depth images have a wide range of applications, such as 3D reconstruction, autonomous driving, augmented reality, robot navigation, and scene understanding. Commodity-grade depth cameras are hard to sense depth for brigh…

3D ReconstructionAutonomous DrivingDecoderDepth Completion+2

A Gradient Perspective on RLVR Stability and Winner Advantage Policy Optimization

2026-06-15 · Prasanth YSS, Zhichen Ren, Rasa Hosseinzadeh, Ilan Gofman 외 arxiv

Reinforcement learning with verifiable rewards (RLVR) improves language-model reasoning, but GRPO-style optimization remains prone to collapse. We analyse this instability through token-level gradient dynamics, deriving …

Reinforcement LearningMathematical Reasoning

Syntax-Aware On-the-Fly Code Completion

2022-11-09 · Wannita Takerngsaksiri, Chakkrit Tantithamthavorn, Yuan-Fang Li

Code completion aims to help improve developers' productivity by suggesting the next code tokens from a given context. Various approaches have been proposed to incorporate abstract syntax tree (AST) information for model…

Code Completion

Towards Full-line Code Completion with Neural Language Models

2020-09-18 · Wenhan Wang, Sijie Shen, Ge Li, Zhi Jin

A code completion system suggests future code elements to developers given a partially-complete code snippet. Code completion is one of the most useful features in Integrated Development Environments (IDEs). Currently, m…

Code Completion