paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Unveiling Heisenbugs with Diversified Execution

以多样化执行揭示 Heisenbug
OOPSLA 9(OOPSLA1)2025匹配度 2/10 · 论文聚焦 WebAssembly 动态数据竞争检测与 heisenbug 度量,属于动态程序分析与调试方向;与用户核心关注的静态分析、LLM/Agent 与程序分析交叉、浮点程序分析及贝叶斯程序分析均无直接交集,也未涉及 LLM 或形式化验证。引用 1 inbox
Arjun Ramesh, Tianshu Huang, Jaspreet Riar, Ben L. Titzer, Anthony Rowe
crossref: 2026-09-10

AI 速览

一句话:通过跨插桩密度与硬件平台的多样化执行,构建 WebAssembly 动态数据竞争检测框架 Beanstalk,并提出 heisen factor 度量。

Heisenbug 会因观察而改变行为、难以复现,常逃过静态检测,在动态复杂、与物理环境交互不可预测的信息物理边缘系统中尤为普遍。现有动态检测工具虽更有效,但抖动与开销偏高,且缺乏衡量 bug“海森程度”的指标,难以评估其对 Heisenbug 的实际效果。本文提出一种低开销、可扩展的 Heisenbug 检测方法,并以动态数据竞争检测为落地场景,论证执行多样性——同时跨插桩密度与硬件平台——对检测 Heisenbug 的关键作用,其收益超过有限插桩或较弱设备带来的效率损失。作者实现基于 WebAssembly 的动态数据竞争检测框架 Beanstalk,在固定计算预算下相比任何同构插桩策略均展现更强检测能力,且随规模扩展而增益,适合多计算节点低开销部署。基于对 Beanstalk 所观测 bug 的严格统计分析,论文提出新指标 heisen factor,供类似检测器分类 Heisenbug 并衡量有效性,最后总结面向内部开发与部署环境的调试策略启示。

问题
Heisenbug 难以复现且常逃过静态检测,而动态检测工具存在高开销、高抖动以及缺乏衡量 bug“海森程度”的指标等问题。
方法
提出以插桩密度和硬件平台上的执行多样性来检测 Heisenbug 的方法,并实现基于 WebAssembly 的动态数据竞争检测框架 Beanstalk,同时基于统计分析提出 heisen factor 指标。
评估
在固定计算预算下比较 Beanstalk 的多样化执行策略与同构插桩策略的 bug 检测能力,考察其随规模扩展的收益,并对观测到的 bug 进行统计分析以验证 heisen factor 的可用性。
原文摘要(Abstract)

Heisenbugs , notorious for their ability to change behavior and elude reproducibility under observation, are among the toughest challenges in debugging programs. They often evade static detection tools, making them especially prevalent in cyber-physical edge systems characterized by complex dynamics and unpredictable interactions with physical environments. Although dynamic detection tools work much better, most still struggle to meet low enough jitter and overhead performance requirements, impeding their adoption. More importantly however, dynamic tools currently lack metrics to determine an observed bug’s “difficulty” or “heisen–ness” undermining their ability to make any claims regarding their effectiveness against heisenbugs. This paper proposes a methodology for detecting and identifying heisenbugs with low overheads at scale, actualized through the lens of dynamic data-race detection. In particular, we establish the critical impact of execution diversity across both instrumentation density and hardware platforms for detecting heisenbugs; the benefits of which outweigh any reduction in efficiency from limited instrumentation or weaker devices. We develop an experimental WebAssembly-backed dynamic data-race detection framework, Beanstalk, which exploits this diversity to show superior bug detection capability compared to any homogeneous instrumentation strategy on a fixed compute budget. Beanstalk’s approach also gains power with scale , making it suitable for low-overhead deployments across numerous compute nodes. Finally, based on a rigorous statistical treatment of bugs observed by Beanstalk, we propose a novel metric, the heisen factor , that similar detectors can utilize to categorize heisenbugs and measure effectiveness. We reflect on our analysis of Beanstalk to provide insight on effective debugging strategies for both in-house and in deployment settings.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@article{paperbot3196,
  title = {Unveiling Heisenbugs with Diversified Execution},
  author = {Arjun Ramesh and Tianshu Huang and Jaspreet Riar and Ben L. Titzer and Anthony Rowe},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {9},
  number = {OOPSLA1},
  year = {2025},
  doi = {10.1145/3720428}
}