Casper: Debugging Null Dereferences with Dynamic Causality Traces

by Benoit Cornu, Earl T. Barr, Lionel Seinturier and Martin Monperrus
Abstract: 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.
 View PDF
Open-access (on arXiv.org)
Publisher version (via DOI)
Citations: [citations]
Other publications of Martin Monperrus

Cite it:

Benoit Cornu, Earl T. Barr, Lionel Seinturier and Martin Monperrus, "Casper: Debugging Null Dereferences with Dynamic Causality Traces", Journal of Systems and Software, 2016.
https://doi.org/10.1016/j.jss.2016.08.062
Casper: Debugging Null Dereferences with Dynamic Causality Traces
http://arxiv.org/pdf/1502.02004
[Casper: Debugging Null Dereferences with Dynamic Causality Traces](http://arxiv.org/pdf/1502.02004) ([doi:10.1016/j.jss.2016.08.062](https://doi.org/10.1016/j.jss.2016.08.062))
\href{http://arxiv.org/pdf/1502.02004}{Casper: Debugging Null Dereferences with Dynamic Causality Traces} % \cite{1502.02004}

Bibtex Entry:

@article{1502.02004,
 title = {Casper: Debugging Null Dereferences with Dynamic Causality Traces},
 journal = {Journal of Systems and Software},
 year = {2016},
 doi = {10.1016/j.jss.2016.08.062},
 author = {Benoit Cornu and Earl T. Barr and Lionel Seinturier and Martin Monperrus},
 url = {http://arxiv.org/pdf/1502.02004},
}
Powered by bibtexbrowser
Tagged as: