Leveraging Causal Inference for Explainable Automatic Program Repair
Jianzong Wang, Shijing Si, Zhitao Zhu, Xiaoyang Qu, Zhenhou Hong, Jing, Xiao

TL;DR
This paper introduces CPR, a causal inference-based method for explainable automatic program repair that generates interpretable causal graphs and improves bug fixing across multiple programming languages.
Contribution
It presents a novel causal inference approach for interpretability in program repair, enhancing both explanation quality and repair performance.
Findings
CPR generates meaningful causal graphs for explanations.
CPR improves bug fixing accuracy across four programming languages.
The method enhances interpretability without sacrificing repair effectiveness.
Abstract
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Software System Performance and Reliability · Software Testing and Debugging Techniques
MethodsRepair
