mlsanityData to 7 Oct 2026

CCRep: Learning Code Change Representations via Pre-Trained Code Model and Query Back

arXiv 2302.03924 ↗First posted 8 Feb 2023cs.SE cs.AIcited by 3

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

  1. 2017Attention Is All You Needcited by 59,932
  2. 2018BERT: Pre-training of Deep Bidirectional Transformers for Language Understandingcited by 40,204
  3. 2014Adam: A Method for Stochastic Optimizationcited by 36,960
  4. 2019Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformercited by 14,491
  5. 2019RoBERTa: A Robustly Optimized BERT Pretraining Approachcited by 13,266
  6. 2016Semi-Supervised Classification with Graph Convolutional Networkscited by 11,282
  7. 2016Layer Normalizationcited by 5,579
  8. 2015Neural Machine Translation of Rare Words with Subword Unitscited by 2,898
  9. 2020CodeBERT: A Pre-Trained Model for Programming and Natural Languagescited by 1,286
  10. 2021CodeT5: Identifier-aware Unified Pre-trained Encoder-Decoder Models for Code Understanding and Generationcited by 890
  11. 2015Gated Graph Sequence Neural Networkscited by 792
  12. 2021Unified Pre-training for Program Understanding and Generationcited by 361
20 more
  1. 2018code2vec: Learning Distributed Representations of Codecited by 249
  2. 2020IntelliCode Compose: Code Generation Using Transformercited by 225
  3. 2020Multi-task Learning based Pre-trained Language Model for Code Completioncited by 58
  4. 2020Big Code != Big Vocabulary: Open-Vocabulary Models for Source Codecited by 53
  5. 2017Automatically Generating Commit Messages from Diffs using Neural Machine Translationcited by 42
  6. 2020CC2Vec: Distributed Representations of Code Changescited by 38
  7. 2019How Often Do Single-Statement Bugs Occur? The ManySStuBs4J Datasetcited by 35
  8. 2018Learning to Represent Editscited by 34
  9. 2020Learning to Update Natural Language Comments Based on Code Changescited by 30
  10. 2019ATOM: Commit Message Generation Based on Abstract Syntax Tree and Hybrid Rankingcited by 25
  11. 2020Evaluating Representation Learning of Code Changes for Predicting Patch Correctness in Program Repaircited by 22
  12. 2020Deep Just-In-Time Inconsistency Detection Between Comments and Source Codecited by 20
  13. 2021Traceability Transformed: Generating more Accurate Links with Pre-Trained BERT Modelscited by 20
  14. 2021On the Evaluation of Commit Message Generation Models: An Experimental Studycited by 20
  15. 2021SPI: Automated Identification of Security Patches via Commitscited by 19
  16. 2019Empirical Review of Java Program Repair Tools: A Large-Scale Experiment on 2,141 Bugs and 23,551 Repair Attemptscited by 12
  17. 2021DeepCVA: Automated Commit-level Vulnerability Assessment with Deep Multi-task Learningcited by 11
  18. 2015Untangling Fine-Grained Code Changescited by 10
  19. 2019Automated Classification of Overfitting Patches with Statically Extracted Code Featurescited by 10
  20. 2019PatchNet: Hierarchical Deep Learning-Based Stable Patch Identification for the Linux Kernelcited by 5

Built on by

Cited by year

Citing papers per year: 2023: 1; 2024: 1; 2025: 1.

3 papers.