Causality & Control flow
2019
Causality has been the issue of philosophic debate since
Hippocrates. It is used in formal verification and testing, e.g.,
to explain counterexamples or construct fault trees. Recent work
defines actual causation in terms of Pearl's causality framework,
but most definitions brought forward so far struggle with examples
where one event preempts another one. A key point to capturing
such examples in the context of programs or distributed systems is
a sound treatment of control flow. We discuss how causal models
should incorporate control flow and discover that much of what
Pearl/Halpern's notion of contingencies tries to capture is
captured better by an explicit modelling of the control flow in
terms of structural equations and an arguably simpler definition.
Inspired by causality notions in the security domain, we bring
forward a definition of causality that takes these
control-variables into account. This definition provides a clear
picture of the interaction between control flow and causality and
captures these notoriously difficult preemption examples without
secondary concepts. We give convincing results on a benchmark of
34 examples from the literature.
Keywords:
- Correction
- Cite
- Save
- Machine Reading By IdeaReader
0
References
1
Citations
NaN
KQI