中文

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}
}