SEFeb 6, 2015

Casper: Debugging Null Dereferences with Dynamic Causality Traces

arXiv:1502.02004v26 citationsHas Code
AI Analysis

This addresses debugging challenges for software developers, but it is incremental as it builds on existing dynamic analysis methods.

The paper tackled the problem of debugging null dereference errors by introducing causality traces to reconstruct the causal chain from root cause to error, and the result was that Casper built causality traces for 14 real bugs in under 5 seconds.

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.

Code Implementations1 repo
Foundations

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

Your Notes