SEAICLMay 26, 2022

Leveraging Causal Inference for Explainable Automatic Program Repair

arXiv:2205.13342v24 citationsh-index: 22
Originality Incremental advance
AI Analysis

This addresses the explainability problem for practitioners using automatic program repair tools, though it appears incremental as it builds on existing sequence-to-sequence models.

The paper tackles the black-box nature of deep learning models in automatic program repair by introducing CPR, an interpretable approach using sequence-to-sequence models with causal inference to generate explanations via causally related token groups. Experiments on four programming languages show CPR generates reasonable causal graphs and boosts bug-fixing performance.

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.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes