一句话:提出 WADIFF 差分测试框架,通过测试用例生成和确定性差分引擎发现 WebAssembly 运行时缺陷与实现差异。
WebAssembly 运行时提供执行 Wasm 模块的虚拟机,广泛应用于浏览器、边缘计算和区块链等领域,因此其精度与可靠性至关重要。为检测 Wasm 运行时中的潜在缺陷并保证正确性,本文提出 WADIFF,一个差分测试框架,由充分的测试用例生成器和确定性差分测试引擎组成。作者将 WADIFF 应用于 7 个流行的 WebAssembly 运行时进行有效性评估,发现了 417 条因运行时缺陷或不同实现而导致的不一致指令。此外,该工作从这些运行时中识别出 21 个缺陷,其中 8 个已得到开发者确认。
WebAssembly (Wasm) runtime provides a virtual machine that can execute the WebAssembly modules and is widely used in different areas (e.g., browsers, edge computing, blockchain). Thus, the precision and reliability of the WebAssembly runtime are important and deserve our attention. To ensure the correctness and detect potential bugs in WebAssembly runtimes, we propose WADIFF, a differential testing framework, which consists of a sufficient test case generator and a deterministic differential testing engine. To evaluate the effectiveness of WADIFF, we apply it to seven popular WebAssembly runtimes and found 417 inconsistent instructions due to bugs and different implementations in the runtimes. Furthermore, we identify 21 bugs from 7 WebAssembly runtimes, and 8 of them are confirmed by their developers.
@inproceedings{ZhouJCZWL23,
title = {WADIFF: A Differential Testing Framework for WebAssembly Runtimes},
author = {Shiyao Zhou and Muhui Jiang and Weimin Chen and Hao Zhou and Haoyu Wang and Xiapu Luo},
booktitle = {ASE},
year = {2023},
doi = {10.1109/ase56229.2023.00188}
}