中文

Casper:利用动态因果追踪调试空指针解引用

软件工程 2021-08-18 v2

摘要

修复软件错误需要理解其根本原因。本文中,我们引入“因果追踪”(causality traces),即精心制作的执行追踪,并增补了从错误根本原因到执行错误重建因果链所需的信息。我们提出一种名为 Casper 的方法和工具,用于为空指针解引用错误动态构建因果追踪。Casper 的核心思想是将称为“ghosts”的特殊值注入执行流中,以在运行时构建因果追踪。我们通过提供并评估从六个大型流行开源项目中收集的 14 个真实空指针解引用错误的因果追踪来评估我们的贡献。在该数据集上,Casper 在不到 5 秒内构建出因果追踪。

关键词

引用

@article{arxiv.1502.02004,
  title  = {Casper: Debugging Null Dereferences with Dynamic Causality Traces},
  author = {Benoit Cornu and Earl T. Barr and Lionel Seinturier and Martin Monperrus},
  journal= {arXiv preprint arXiv:1502.02004},
  year   = {2021}
}