WebAssembly 运行时缺陷的特征刻画与检测
软件工程
2023-01-31 v1
摘要
WebAssembly(简称 WASM)已成为 Web 领域一种有前景的语言,也被广泛用于移动应用和桌面应用等广泛的软件应用中。这些应用称为 WASM 应用,通常运行于 WASM 运行时中。WASM 运行时中的缺陷常被开发者报告并导致 WASM 应用崩溃。然而,这些缺陷尚未得到充分研究。为填补知识空白,我们提出一项系统性研究以刻画并检测 WASM 运行时中的缺陷。我们首先从 GitHub 上数百个相关帖子中收集包含 311 个真实缺陷的数据集。基于所收集的高质量缺陷报告,我们提炼出 WASM 运行时的 31 个缺陷类别并总结其常见修复策略。此外,我们开发了一个基于模式的缺陷检测框架,用于自动检测 WASM 运行时中的缺陷。我们将该检测框架应用于五个流行的 WASM 运行时,成功发现了 53 个此前从未被报告的缺陷,其中 14 个已被确认,6 个已被运行时开发者修复。
引用
@article{arxiv.2301.12102,
title = {Characterizing and Detecting WebAssembly Runtime Bugs},
author = {Yixuan Zhang and Shangtong Cao and Haoyu Wang and Zhenpeng Chen and Xiapu Luo and Dongliang Mu and Yun Ma and Gang Huang and Xuanzhe Liu},
journal= {arXiv preprint arXiv:2301.12102},
year = {2023}
}