paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Execution-Aware Program Reduction for WebAssembly via Record and Replay

基于记录与重放的 WebAssembly 执行感知程序缩减
ASE 2025 40th IEEE/ACM International Conference on Automated Software Engineering (ASE)2025匹配度 3/10 · 该论文是 WebAssembly 程序缩减(delta debugging 风格)的执行感知技术,属于 PL/软件工程中的调试与测试方向,与用户关注的静态分析、LLM/Agent 交互程序分析、浮点程序分析、贝叶斯程序分析均无直接交集。其“执行感知 vs 静态信息”的对比虽与静态分析有微弱关联,但方法本身不做静态分析,也不涉及 LLM 或浮点。引用 0 inbox
Doehyun Baek, Daniel Lehmann, Ben L. Titzer, Sukyoung Ryu, Michael Pradel
crossref: 2026-09-12

AI 速览

一句话:提出 RR-Reduce 与 Hybrid-Reduce,通过记录重放实现执行感知的 WebAssembly 程序缩减,快速缩小仍触发引擎 bug 的程序。

WebAssembly 程序可能触发引擎实现中的 bug。为辅助调试,程序缩减技术试图生成更小但仍能触发 bug 的程序变体,但现有执行无关方法依赖静态信息与语法变换,难以处理大型复杂 Wasm 程序并忽略执行行为。本文提出执行感知的 RR-Reduce 与 Hybrid-Reduce,基于记录与重放利用执行行为。RR-Reduce 识别触发 bug 的目标函数,将其与程序其余部分隔离,并生成仅重放目标函数与其余部分交互的缩减程序;Hybrid-Reduce 结合执行无关缩减进一步减小程序体积。在 28 个触发三个引擎中多种 bug 的 Wasm 程序上评估,RR-Reduce 平均缩至原始大小 1.20%、耗时 14.5 分钟,缩减时间优于最新技术 33.15 倍;Hybrid-Reduce 缩至 0.13%、耗时 3.5 小时,缩减体积与时间分别优于最新技术 3.42 倍和 2.26 倍。

问题
现有程序缩减方法多为执行无关,依赖静态信息和语法变换,难以处理大型复杂 Wasm 程序,且未利用执行行为。
方法
提出 RR-Reduce 和 Hybrid-Reduce:前者识别触发 bug 的目标函数,隔离并生成仅重放其与程序其余部分交互的缩减程序;后者结合执行无关缩减进一步缩小体积。
评估
在 28 个触发三个引擎中多种 bug 的 Wasm 程序上评估,RR-Reduce 平均缩至 1.20% 且耗时 14.5 分钟,Hybrid-Reduce 缩至 0.13% 且耗时 3.5 小时,均优于现有技术。
原文摘要(Abstract)

WebAssembly (Wasm) programs may trigger bugs in their engine implementations. To aid debugging, program reduction techniques try to produce a smaller variant of the input program that still triggers the bug. However, existing execution-unaware program reduction techniques struggle with large and complex Wasm programs, because they rely on static information and apply syntactic transformations, while ignoring the valuable information offered by the input program’s execution behavior. We present RR-Reduce and Hybrid-Reduce, novel execution-aware program reduction techniques that leverage execution behaviors via record and replay. RR-Reduce identifies a bug-triggering function as the target function, isolates that function from the rest of the program, and generates a reduced program that replays only the interactions between the target function and the rest of the program. Hybrid-Reduce combines a complementary execution-unaware reduction technique with RR-Reduce to further reduce program size. We evaluate RR-Reduce and Hybrid-Reduce on 28 Wasm programs that trigger a diverse set of bugs in three engines. On average, RR-Reduce reduces the programs to 1.20% of their original size in 14.5 minutes, which outperforms the state of the art by 33.15× in terms of reduction time. Hybrid-Reduce reduces the programs to 0.13% of their original size in 3.5 hours, which outperforms the state of the art by 3.42× in terms of reduced program size and 2.26× in terms of reduction time. We envision RR-Reduce as the go-to tool for rapid, on-demand debugging in minutes, and Hybrid-Reduce for scenarios where developers require the smallest possible programs.

链接与引用

DOI 原文 ·

BibTeX
@inproceedings{paperbot9547,
  title = {Execution-Aware Program Reduction for WebAssembly via Record and Replay},
  author = {Doehyun Baek and Daniel Lehmann and Ben L. Titzer and Sukyoung Ryu and Michael Pradel},
  booktitle = {ASE},
  year = {2025},
  doi = {10.1109/ase63991.2025.00073}
}