中文

通过差分测试揭示服务端 WebAssembly 运行时的性能问题

软件工程 2023-09-22 v1

摘要

WebAssembly(Wasm)是一种最初作为 Web 应用编译目标的字节码格式。近来它在服务端的使用日益增多,例如,作为 Linux 容器的更安全、更快速且更具可移植性的替代方案。随着服务端 Wasm 应用的普及,研究 Wasm 运行时中的性能问题(即异常延迟)至关重要,因为它们可能对服务端应用造成显著影响。然而,目前仍缺乏对服务端 Wasm 运行时性能问题的关注。在本文中,我们设计了一种新颖的差分测试方法 WarpDiff,以识别服务端 Wasm 运行时中的性能问题。其核心洞见是,在正常情况下,同一测试用例在不同 Wasm 运行时上的执行时间应遵循一个预言比率(oracle ratio)。我们识别出执行时间比率显著偏离该预言比率的异常情形,并随后定位导致性能问题的 Wasm 运行时。我们将 WarpDiff 应用于使用来自 LLVM 测试套件的 123 个测试用例测试五种流行的服务端 Wasm 运行时,并展示了我们识别出的前 10 个异常情形。我们进一步对这些异常情形进行了深入分析,总结出七个性能问题,所有问题均已得到开发者确认。我们希望我们的工作能启发未来关于改进 Wasm 运行时实现的研究,从而促进服务端 Wasm 应用的发展。

关键词

引用

@article{arxiv.2309.12167,
  title  = {Revealing Performance Issues in Server-side WebAssembly Runtimes via Differential Testing},
  author = {Shuyao Jiang and Ruiying Zeng and Zihao Rao and Jiazhen Gu and Yangfan Zhou and Michael R. Lyu},
  journal= {arXiv preprint arXiv:2309.12167},
  year   = {2023}
}

备注

Accepted by the 38th IEEE/ACM International Conference on Automated Software Engineering (ASE 2023)