中文

WRTester: 基于语义感知二进制生成的 WebAssembly 运行时差分测试

软件工程 2023-12-19 v1

摘要

Wasm 运行时是 Wasm 生态系统中的基础组件,因为它直接影响 Wasm 应用程序能否按预期执行。Wasm 运行时中的 Bug 频繁被报告,因此我们的研究社区已做出一些尝试,设计自动化测试框架来检测 Wasm 运行时中的 Bug。然而,现有的测试框架受限于测试用例的质量,即它们在生成语义丰富且语法正确的 Wasm 二进制文件方面面临挑战,从而无法触发复杂的 Bug。在这项工作中,我们提出了 WRTester,一种新颖的差分测试框架,它通过对真实世界的 Wasm 二进制文件进行反汇编和汇编来生成复杂的 Wasm 测试用例,从而触发 Wasm 运行时之间隐藏的不一致性。为了进一步精确定位意外行为的根本原因,我们设计了一种与运行时无关的根本原因定位方法来准确锁定 Bug。广泛的评估表明,WRTester 在效率和有效性方面均优于 SOTA 技术。我们在流行的 Wasm 运行时中发现了 33 个独特的 Bug,其中 25 个已被确认。

关键词

引用

@article{arxiv.2312.10456,
  title  = {WRTester: Differential Testing of WebAssembly Runtimes via Semantic-aware Binary Generation},
  author = {Shangtong Cao and Ningyu He and Xinyu She and Yixuan Zhang and Mu Zhang and Haoyu Wang},
  journal= {arXiv preprint arXiv:2312.10456},
  year   = {2023}
}