Title :
Casper: Using Ghosts to Debug Null Deferences with Dynamic Causality Traces
Author_Institution :
Univ. of Lille, Lille, France
Abstract :
Fixing software errors requires understanding their root cause. In this paper, we introduce "causality traces\´\´, they are specially crafted execution traces augmented with the information needed to reconstruct a causal chain from a root cause 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.
Keywords :
program debugging; software tools; Casper; dynamic causality traces; execution error; ghosts; null deference error debug; open-source projects; software error fixing; Computer bugs; Debugging; History; Java; Null value; Open source software; Runtime;
Conference_Titel :
Software Engineering (ICSE), 2015 IEEE/ACM 37th IEEE International Conference on
Conference_Location :
Florence
DOI :
10.1109/ICSE.2015.251