一句话:提出差分测试方法 WarpDiff,识别服务端 WebAssembly 运行时的性能异常并定位问题运行时。
服务端 WebAssembly 运行时日益流行,但其性能异常(异常延迟)缺乏关注。论文提出差分测试方法 WarpDiff,核心洞察是同一测试用例在不同 Wasm 运行时上的执行时间应满足一个 oracle 比值;若实际执行时间比值显著偏离该比值,则判定为异常,并进一步定位导致性能问题的运行时。作者将 WarpDiff 应用于五个主流服务端 Wasm 运行时,使用 LLVM 测试套件中的 123 个测试用例,给出前 10 个异常案例并深入分析,总结出七类性能问题,均获开发者确认。
WebAssembly (Wasm) is a bytecode format originally serving as a compilation target for Web applications. It has recently been used increasingly on the server side, e.g., providing a safer, faster, and more portable alternative to Linux containers. With the popularity of server-side Wasm applications, it is essential to study performance issues (i.e., abnormal latency) in Wasm runtimes, as they may cause a significant impact on server-side applications. However, there is still a lack of attention to performance issues in server-side Wasm runtimes. In this paper, we design a novel differential testing approach WarpDiff to identify performance issues in server-side Wasm runtimes. The key insight is that in normal cases, the execution time of the same test case on different Wasm runtimes should follow an oracle ratio. We identify abnormal cases where the execution time ratio significantly deviates from the oracle ratio and subsequently locate the Wasm runtimes that cause the performance issues. We apply WarpDiff to test five popular server-side Wasm runtimes using 123 test cases from the LLVM test suite and demonstrate the top 10 abnormal cases we identified. We further conduct an in-depth analysis of these abnormal cases and summarize seven performance issues, all of which have been confirmed by the developers. We hope our work can inspire future investigation on improving Wasm runtime implementation and thus promoting the development of server-side Wasm applications.
DOI 原文 · arXiv · PDF(开放获取) · DBLP
@inproceedings{JiangZRGZL23,
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},
booktitle = {ASE},
year = {2023},
doi = {10.1109/ase56229.2023.00088}
}