Leveraging Causal Inference for Explainable Automatic Program Repair

05/26/2022
by   Jianzong Wang, et al.
0

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
12/24/2018

SequenceR: Sequence-to-Sequence Learning for End-to-End Program Repair

This paper presents a novel end-to-end approach to program repair based ...
research
04/03/2023

RunBugRun – An Executable Dataset for Automated Program Repair

Recently, we can notice a transition to data-driven techniques in Automa...
research
02/09/2018

Astor: Exploring the Design Space of Generate-and-Validate Program Repair beyond GenProg

During last years, researches have proposed novel repair approaches that...
research
09/15/2020

PRF: A Framework for Building Automatic Program Repair Prototypes for JVM-Based Languages

PRF is a Java-based framework that allows researchers to build prototype...
research
07/02/2018

Automatic Software Repair: a Bibliography

This article presents a survey on automatic software repair. Automatic s...
research
05/22/2022

CIRCLE: Continual Repair across Programming Languages

Automatic Program Repair (APR) aims at fixing buggy source code with les...
research
05/28/2020

MACER: A Modular Framework for Accelerated Compilation Error Repair

Automated compilation error repair, the problem of suggesting fixes to b...

Please sign up or login with your details

Forgot password? Click here to reset