Is this Change the Answer to that Problem? Correlating Descriptions of Bug and Code Changes for Evaluating Patch Correctness
Not on the map. Why?
Abstract (arXiv)
In this work, we propose a novel perspective to the problem of patch correctness assessment: a correct patch implements changes that "answer" to a problem posed by buggy behaviour. Concretely, we turn the patch correctness assessment into a Question Answering problem. To tackle this problem, our intuition is that natural language processing can provide the necessary representations and models for assessing the semantic correlation between a bug (question) and a patch (answer). Specifically, we consider as inputs the bug reports as well as the natural language description of the generated patches. Our approach, Quatrain, first considers state of the art commit message generation models to produce the relevant inputs associated to each generated patch. Then we leverage a neural network architecture to learn the semantic correlation between bug reports and commit messages. Experiments on a large dataset of 9135 patches generated for three bug datasets (Defects4j, Bugs.jar and Bears) show that Quatrain can achieve an AUC of 0.886 on predicting patch correctness, and recalling 93% correct patches while filtering out 62% incorrect patches. Our experimental results further demonstrate the influence of inputs quality on prediction performance. We further perform experiments to highlight that the model indeed learns the relationship between bug reports and code change descriptions for the prediction. Finally, we compare against prior work and discuss the benefits of our approach.
Key facts. Cited by 7 papers in the map (data through 14 Oct 2026). Builds on 32 of its 69 references that are in the map. First posted on arXiv 8 Aug 2022.
Builds on
32 of 69 references.
References · 32
- 2018BERT: Pre-training of Deep Bidirectional Transformers for Language Understandingcited by 40,399
- 2013Efficient Estimation of Word Representations in Vector Spacecited by 4,375
- 2016SQuAD: 100,000+ Questions for Machine Comprehension of Textcited by 4,148
- 2016FastText.zip: Compressing text classification modelscited by 335
- 2018code2vec: Learning Distributed Representations of Codecited by 250
- 2018SequenceR: Sequence-to-Sequence Learning for End-to-End Program Repaircited by 145
- 2018The Adverse Effects of Code Duplication in Machine Learning Models of Codecited by 126
- 2018An Empirical Study on Learning Bug-Fixing Patches in the Wild via Neural Machine Translationcited by 108
- 2021CURE: Code-Aware Neural Machine Translation for Automatic Program Repaircited by 86
- 2021Neural Program Repair with Execution-based Backpropagationcited by 50
- 2021Applying CodeBERT for Automated Program Repair of Java Simple Bugscited by 44
- 2020CC2Vec: Distributed Representations of Code Changescited by 39
20 more
- 2022SelfAPR: Self-supervised Program Repair with Test Execution Diagnosticscited by 33
- 2021CodeTrans: Towards Cracking the Language of Silicon's Code Through Self-Supervised Deep Learning and High Performance Computingcited by 28
- 2018AVATAR : Fixing Semantic Bugs with Fix Patterns of Static Analysis Violationscited by 22
- 2020Evaluating Representation Learning of Code Changes for Predicting Patch Correctness in Program Repaircited by 22
- 2015LSTM-based Deep Learning Models for Non-factoid Answer Selectioncited by 17
- 2017Identifying Patch Correctness in Test-Based Program Repaircited by 17
- 2020On the Efficiency of Test Suite based Program Repair: A Systematic Assessment of 16 Automated Repair Systems for Java Programscited by 16
- 2019Automated Patch Assessment for Program Repair at Scalecited by 14
- 2019Bears: An Extensible Java Bug Benchmark for Automatic Program Repair Studiescited by 13
- 2019Empirical Review of Java Program Repair Tools: A Large-Scale Experiment on 2,141 Bugs and 23,551 Repair Attemptscited by 12
- 2019iFixR: Bug Report driven Program Repaircited by 11
- 2019Automated Classification of Overfitting Patches with Statically Extracted Code Featurescited by 10
- 2016An Analysis of the Search Spaces for Generate and Validate Patch Generation Systemscited by 9
- 2017Question Answering through Transfer Learning from Large Fine-grained Supervision Datacited by 9
- 2022The Best of Both Worlds: Combining Learned Embeddings with Engineered Features for Accurate Prediction of Correct Patchescited by 9
- 2018Alleviating Patch Overfitting with Automatic Test Generation: A Study of Feasibility and Effectiveness for the Nopol Repair Systemcited by 7
- 2021Predicting Patch Correctness Based on the Similarity of Failing Test Casescited by 4
- 2019How Different Is It Between Machine-Generated and Developer-Provided Patches? An Empirical Study on The Correct Patches Generated by Automated Program Repair Techniquescited by 3
- 2020IBIR: Bug Report driven Fault Injectioncited by 2
- 2020Code2Que: A Tool for Improving Question Titles from Mined Code Snippets in Stack Overflowcited by 1
Built on by
Citing papers per year: 2023: 2; 2024: 2; 2025: 1; 2026: 2.
7 papers.
- 2024CodeAgent: Autonomous Communicative Agents for Code Reviewcited by 34
- 2023Exploring ChatGPT's Capabilities on Vulnerability Managementcited by 19
- 2023Just-in-Time Detection of Silent Security Patchescited by 7
- 2024Automated Program Repair: Emerging trends pose and expose problems for benchmarkscited by 7
- 2025RePaCA: Leveraging Reasoning Large Language Models for Static Automated Patch Correctness Assessmentcited by 1
- 2026Rethinking Code Review in the Age of AI: A Vision for Agentic Code Reviewcited by 1
- 2026LogicEval: A Systematic Framework for Evaluating Automated Repair Techniques for Logical Vulnerabilities in Real-World Softwarecited by 0
- 2026Rethinking Code Review in the Age of AI: A Vision for Agentic Code Review17 May 2026
- 2026LogicEval: A Systematic Framework for Evaluating Automated Repair Techniques for Logical Vulnerabilities in Real-World Software14 Apr 2026
- 2025RePaCA: Leveraging Reasoning Large Language Models for Static Automated Patch Correctness Assessment30 Jul 2025
- 2024Automated Program Repair: Emerging trends pose and expose problems for benchmarks8 May 2024
- 2024CodeAgent: Autonomous Communicative Agents for Code Review3 Feb 2024
- 2023Just-in-Time Detection of Silent Security Patches2 Dec 2023
- 2023Exploring ChatGPT's Capabilities on Vulnerability Management11 Nov 2023