Wasm-R3 : creating executable benchmarks of WebAssembly binaries via record-reduce-replay

dc.contributor.authorGetz, Jakob
dc.date.accessioned2024-04-18T14:23:36Z
dc.date.available2024-04-18T14:23:36Z
dc.date.issued2024de
dc.description.abstractWebAssembly is the newest language to arrive on the web and has now been implemented in all major browsers for several years. It features a compact binary format, making it fast to be loaded, decoded and run. To evaluate and improve the performance of WebAssembly engines, relevant executable benchmarks are required. Existing benchmarks such as PolyBenchC and Spec CPU have shortcomings in their relevancy, since they do not necessarily represent real-world WebAssembly applications well. To make the creation of such benchmarks faster and simpler, we develop Wasm-R3 an approach that has the capability of recording existing web applications and generate an executable benchmark from it. Wasm-R3’s workflow can be described in three phases: record, reduce and replay. In the record phase the instrumenter instruments the website’s WebAssembly code, a user then interacts with the website, which causes traces of the execution to be recorded. Since these traces are typically large, unnecessary information gets filtered out in the reduce phase. In the replay phase a replay generator takes these traces along with the original web application’s WebAssembly binary and generates a standalone executable benchmark from it. We evaluate Wasm-R3 by implementing it in Typescript and Rust to show that the generated benchmarks correctly mimic the behavior of the recorded application. We further demonstrate that replays can be generated in reasonable time by measuring a mean wall time of 8.651 seconds and that our benchmarks are portable across a variety of di↵erent WebAssembly engines.en
dc.identifier.other1887038213
dc.identifier.urihttp://nbn-resolving.de/urn:nbn:de:bsz:93-opus-ds-142513de
dc.identifier.urihttp://elib.uni-stuttgart.de/handle/11682/14251
dc.identifier.urihttp://dx.doi.org/10.18419/opus-14232
dc.language.isoende
dc.rightsinfo:eu-repo/semantics/openAccessde
dc.subject.ddc004de
dc.titleWasm-R3 : creating executable benchmarks of WebAssembly binaries via record-reduce-replayen
dc.typemasterThesisde
ubs.fakultaetInformatik, Elektrotechnik und Informationstechnikde
ubs.institutInstitut für Software Engineeringde
ubs.publikation.seitenviii, 56de
ubs.publikation.typAbschlussarbeit (Master)de

Files

Original bundle

Now showing 1 - 1 of 1
Thumbnail Image
Name:
master_thesis_jakob_getz.pdf
Size:
1.28 MB
Format:
Adobe Portable Document Format
Description:

License bundle

Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
3.3 KB
Format:
Item-specific license agreed upon to submission
Description: