Leveraging Causal Inference for Explainable Automatic Program Repair
Not on the map. Why?
Abstract (arXiv)
Deep learning models have made significant progress in automatic program repair. However, the black-box nature of these methods has restricted their practical applications. To address this challenge, this paper presents an interpretable approach for program repair based on sequence-to-sequence models with causal inference and our method is called CPR, short for causal program repair. Our CPR can generate explanations in the process of decision making, which consists of groups of causally related input-output tokens. Firstly, our method infers these relations by querying the model with inputs disturbed by data augmentation. Secondly, it generates a graph over tokens from the responses and solves a partitioning problem to select the most relevant components. The experiments on four programming languages (Java, C, Python, and JavaScript) show that CPR can generate causal graphs for reasonable interpretations and boost the performance of bug fixing in automatic program repair.
Key facts. Cited by 1 paper in the map (data through 7 Oct 2026). Builds on 22 of its 45 references that are in the map. First posted on arXiv 26 May 2022.
Builds on
22 of 45 references.
References · 22
- 2019PyTorch: An Imperative Style, High-Performance Deep Learning Librarycited by 20,160
- 2016Grad-CAM: Visual Explanations from Deep Networks via Gradient-based Localizationcited by 6,690
- 2016"Why Should I Trust You?": Explaining the Predictions of Any Classifiercited by 5,040
- 2020CodeBERT: A Pre-Trained Model for Programming and Natural Languagescited by 1,286
- 2019EDA: Easy Data Augmentation Techniques for Boosting Performance on Text Classification Taskscited by 800
- 2016Hyperband: A Novel Bandit-Based Approach to Hyperparameter Optimizationcited by 688
- 2017Convolutional Sequence to Sequence Learningcited by 550
- 2014Understanding Deep Image Representations by Inverting Themcited by 399
- 2020Simple and Principled Uncertainty Estimation with Deterministic Deep Learning via Distance Awarenesscited by 389
- 2016Rationalizing Neural Predictionscited by 281
- 2021Polyjuice: Generating Counterfactuals for Explaining, Evaluating, and Improving Modelscited by 219
- 2018SequenceR: Sequence-to-Sequence Learning for End-to-End Program Repaircited by 144
10 more
- 2018An Empirical Study on Learning Bug-Fixing Patches in the Wild via Neural Machine Translationcited by 106
- 2021CURE: Code-Aware Neural Machine Translation for Automatic Program Repaircited by 85
- 2021FairFil: Contrastive Neural Debiasing Method for Pretrained Text Encoderscited by 75
- 2016Latent Predictor Networks for Code Generationcited by 73
- 2017A causal framework for explaining the predictions of black-box sequence-to-sequence modelscited by 58
- 2018Automatic Software Repair: a Bibliographycited by 24
- 2018A Comprehensive Study of Automatic Program Repair on the QuixBugs Benchmarkcited by 17
- 2017Improving Interpretability of Deep Neural Networks with Semantic Informationcited by 14
- 2019Bears: An Extensible Java Bug Benchmark for Automatic Program Repair Studiescited by 13
- 2018Learning to Generate Corrective Patches using Neural Machine Translationcited by 10
Built on by
Citing papers per year: 2024: 1.
1 paper.