  Fixing a software error requires understanding its root cause. In this paper,
we introduce ''causality traces'', crafted execution traces augmented with the
information needed to reconstruct the causal chain from the root cause of a bug
to an execution error. We propose an approach and a tool, called Casper, for
dynamically constructing causality traces for null dereference errors. The core
idea of Casper is to inject special values, called ''ghosts'', into the
execution stream to construct the causality trace at runtime. We evaluate our
contribution by providing and assessing the causality traces of 14 real null
dereference bugs collected over six large, popular open-source projects. Over
this data set, Casper builds a causality trace in less than 5 seconds.
