CCRep: Learning Code Change Representations via Pre-Trained Code Model and Query Back
Not on the map. Why?
Abstract (arXiv)
Representing code changes as numeric feature vectors, i.e., code change representations, is usually an essential step to automate many software engineering tasks related to code changes, e.g., commit message generation and just-in-time defect prediction. Intuitively, the quality of code change representations is crucial for the effectiveness of automated approaches. Prior work on code changes usually designs and evaluates code change representation approaches for a specific task, and little work has investigated code change encoders that can be used and jointly trained on various tasks. To fill this gap, this work proposes a novel Code Change Representation learning approach named CCRep, which can learn to encode code changes as feature vectors for diverse downstream tasks. Specifically, CCRep regards a code change as the combination of its before-change and after-change code, leverages a pre-trained code model to obtain high-quality contextual embeddings of code, and uses a novel mechanism named query back to extract and encode the changed code fragments and make them explicitly interact with the whole code change. To evaluate CCRep and demonstrate its applicability to diverse code-change-related tasks, we apply it to three tasks: commit message generation, patch correctness assessment, and just-in-time defect prediction. Experimental results show that CCRep outperforms the state-of-the-art techniques on each task.
Key facts. Cited by 3 papers in the map (data through 7 Oct 2026). Builds on 32 of its 68 references that are in the map. First posted on arXiv 8 Feb 2023.
Builds on
32 of 68 references.
References · 32
- 2017Attention Is All You Needcited by 59,932
- 2018BERT: Pre-training of Deep Bidirectional Transformers for Language Understandingcited by 40,204
- 2014Adam: A Method for Stochastic Optimizationcited by 36,960
- 2019Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformercited by 14,491
- 2019RoBERTa: A Robustly Optimized BERT Pretraining Approachcited by 13,266
- 2016Semi-Supervised Classification with Graph Convolutional Networkscited by 11,282
- 2016Layer Normalizationcited by 5,579
- 2015Neural Machine Translation of Rare Words with Subword Unitscited by 2,898
- 2020CodeBERT: A Pre-Trained Model for Programming and Natural Languagescited by 1,286
- 2021CodeT5: Identifier-aware Unified Pre-trained Encoder-Decoder Models for Code Understanding and Generationcited by 890
- 2015Gated Graph Sequence Neural Networkscited by 792
- 2021Unified Pre-training for Program Understanding and Generationcited by 361
20 more
- 2018code2vec: Learning Distributed Representations of Codecited by 249
- 2020IntelliCode Compose: Code Generation Using Transformercited by 225
- 2020Multi-task Learning based Pre-trained Language Model for Code Completioncited by 58
- 2020Big Code != Big Vocabulary: Open-Vocabulary Models for Source Codecited by 53
- 2017Automatically Generating Commit Messages from Diffs using Neural Machine Translationcited by 42
- 2020CC2Vec: Distributed Representations of Code Changescited by 38
- 2019How Often Do Single-Statement Bugs Occur? The ManySStuBs4J Datasetcited by 35
- 2018Learning to Represent Editscited by 34
- 2020Learning to Update Natural Language Comments Based on Code Changescited by 30
- 2019ATOM: Commit Message Generation Based on Abstract Syntax Tree and Hybrid Rankingcited by 25
- 2020Evaluating Representation Learning of Code Changes for Predicting Patch Correctness in Program Repaircited by 22
- 2020Deep Just-In-Time Inconsistency Detection Between Comments and Source Codecited by 20
- 2021Traceability Transformed: Generating more Accurate Links with Pre-Trained BERT Modelscited by 20
- 2021On the Evaluation of Commit Message Generation Models: An Experimental Studycited by 20
- 2021SPI: Automated Identification of Security Patches via Commitscited by 19
- 2019Empirical Review of Java Program Repair Tools: A Large-Scale Experiment on 2,141 Bugs and 23,551 Repair Attemptscited by 12
- 2021DeepCVA: Automated Commit-level Vulnerability Assessment with Deep Multi-task Learningcited by 11
- 2015Untangling Fine-Grained Code Changescited by 10
- 2019Automated Classification of Overfitting Patches with Statically Extracted Code Featurescited by 10
- 2019PatchNet: Hierarchical Deep Learning-Based Stable Patch Identification for the Linux Kernelcited by 5
Built on by
Citing papers per year: 2023: 1; 2024: 1; 2025: 1.
3 papers.
- 2023Just-in-Time Detection of Silent Security Patchescited by 7
- 2024The Rise and Fall(?) of Software Engineeringcited by 1
- 2025AI-Powered Commit Explorer (APCE)cited by 0
- 2025AI-Powered Commit Explorer (APCE)21 Jul 2025
- 2024The Rise and Fall(?) of Software Engineering14 Jun 2024
- 2023Just-in-Time Detection of Silent Security Patches2 Dec 2023