Causal Program Dependence Analysis

04/19/2021
by   Seongmin Lee, et al.
0

We introduce Causal Program Dependence Analysis (CPDA), a dynamic dependence analysis that applies causal inference to model the strength of program dependence relations in a continuous space. CPDA observes the association between program elements by constructing and executing modified versions of a program. One advantage of CPDA is that this construction requires only light-weight parsing rather than sophisticated static analysis. The result is a collection of observations based on how often a change in the value produced by a mutated program element affects the behavior of other elements. From this set of observations, CPDA discovers a causal structure capturing the causal (i.e., dependence) relation between program elements. Qualitative evaluation finds that CPDA concisely expresses key dependence relationships between program elements. As an example application, we apply CPDA to the problem of fault localization. Using minimal test suites, our approach can rank twice as many faults compared to SBFL.

READ FULL TEXT
POST COMMENT

Comments

There are no comments yet.

Authors

page 1

page 2

page 3

page 4

04/22/2021

Effectively Sampling Higher Order Mutants Using Causal Effect

Higher Order Mutation (HOM) has been proposed to avoid equivalent mutant...
02/11/2021

Improving Fault Localization by Integrating Value and Predicate Based Causal Inference Techniques

Statistical fault localization (SFL) techniques use execution profiles a...
06/29/2019

Causal Inference Under Interference And Network Uncertainty

Classical causal and statistical inference methods typically assume the ...
12/09/2017

Inforence: Effective Fault Localization Based on Information-Theoretic Analysis and Statistical Causal Inference

In this paper, a novel approach, Inforence, is proposed to isolate the s...
05/10/2018

Bivariate Causal Discovery and its Applications to Gene Expression and Imaging Data Analysis

The mainstream of research in genetics, epigenetics and imaging data ana...
03/13/2019

SymPas: Symbolic Program Slicing

Program slicing is a technique for simplifying programs by focusing on s...
04/30/2019

Dependence-Aware, Unbounded Sound Predictive Race Detection

Data races are a real problem for parallel software, yet hard to detect....
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.