Casper:使用动态因果关系跟踪的随机解引用
Casper: Debugging Null Dereferences with Dynamic Causality Traces
摘要:
修复软件错误需要了解其根本原因。在本文中,我们引入了“因果关系跟踪”,精心制作的执行跟踪,增加了重建从错误的根本原因到执行错误的因果链所需的信息。我们提出了一种方法和一个工具,称为卡斯珀,动态构建因果关系跟踪空解引用错误。Casper的核心思想是在执行流中注入特殊的值,称为“ghosts”,以在运行时构建因果关系跟踪。我们评估我们的贡献,提供和评估的因果关系的痕迹,收集了六个大型的,流行的开源项目的14个真正的空引用错误。在这个数据集上,Casper在不到5秒的时间内建立了因果关系。
英文摘要:
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.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。