Search papers, labs, and topics across Lattice.
This paper introduces WarpL, a mutation-based debugging approach to identify suboptimal instruction sequences causing performance issues in WebAssembly (Wasm) runtimes. WarpL generates functionally similar mutants where the performance issue is absent and then pinpoints the problematic instructions by comparing the machine code of the original and mutated programs. Evaluation on 12 real-world issues across three Wasm runtimes showed WarpL successfully identified the root cause in 10 cases, including diagnosing six previously unknown performance issues in Wasmtime.
Mutation-based debugging can automatically pinpoint the exact instruction sequences responsible for performance bottlenecks in WebAssembly runtimes.
Performance debugging in WebAssembly (Wasm) runtimes is essential for ensuring the robustness of Wasm, especially since performance issues have frequently occurred in Wasm runtimes, which can significantly degrade the capabilities of hosted services. Many performance issues in Wasm runtimes result from suboptimal compilation of input Wasm programs, for which existing performance debugging methods primarily designed for application-level inefficiencies are not well-suited. In this paper, we present WarpL, a novel mutation-based approach that aims to identify the exact suboptimal instruction sequences responsible for the performance issues in Wasm runtimes, thereby narrowing down the root causes. Specifically, WarpL obtains a functionally similar mutant in which the performance issue does not manifest, and isolates the exact suboptimal instructions by comparing the machine code of the original and mutated programs. We implement WarpL as an open-source tool and evaluate it on 12 real-world performance issues across three widely used Wasm runtimes. WarpL identified the exact causes in 10 out of 12 issues. Notably, we have used WarpL to successfully diagnose six previously unknown performance issues in Wasmtime.