Conference Companion of the 4th International Conference on Art, Science, and Engineering of Programming 2020
DOI: 10.1145/3397537.3397567
|View full text |Cite
|
Sign up to set email alerts
|

Superoptimization of WebAssembly bytecode

Abstract: Motivated by the fast adoption of WebAssembly, we propose the first functional pipeline to support the superoptimization of Web-Assembly bytecode. Our pipeline works over LLVM and Souper. We evaluate our superoptimization pipeline with 12 programs from the Rosetta code project. Our pipeline improves the code section size of 8 out of 12 programs. We discuss the challenges faced in superoptimization of WebAssembly with two case studies.

Help me understand this report
View preprint versions

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1

Citation Types

0
3
0

Year Published

2021
2021
2024
2024

Publication Types

Select...
2
2
1
1

Relationship

0
6

Authors

Journals

citations
Cited by 9 publications
(3 citation statements)
references
References 8 publications
0
3
0
Order By: Relevance
“…Nevertheless, it still provides a fast runtime execution speed similar to the native code execution speed. Since all contents and data for Wasm applications are transmitted through the network, minimizing the size of transmitted data is a vital optimization target factor that affects overall application performance and web experience [9]. By reducing the size of this code, the data transmission time and the time consumed for jit compile is reduced, which can affect actual application execution performance.…”
Section: Background a Webassemblymentioning
confidence: 99%
See 1 more Smart Citation
“…Nevertheless, it still provides a fast runtime execution speed similar to the native code execution speed. Since all contents and data for Wasm applications are transmitted through the network, minimizing the size of transmitted data is a vital optimization target factor that affects overall application performance and web experience [9]. By reducing the size of this code, the data transmission time and the time consumed for jit compile is reduced, which can affect actual application execution performance.…”
Section: Background a Webassemblymentioning
confidence: 99%
“…Since Wasm applications are distributed and executed through the web, the application size and performance are essential considerations [9]. To satisfy these requirements, Wasm applications often use simplified allocators such as emmalloc, which does not provide memory protection mechanisms or is used in limited coverage.…”
Section: Introductionmentioning
confidence: 99%
“…Software diversification is a well-known software protection technique [12,4,19], consisting of producing numerous variants of an original program, each retaining equivalent functionality. Software diversification in Web-Assembly has many important application domains, such as optimization [5] and malware evasion [8]. It can also been used for fuzzing, a salient example of this was the discovery of a CVE in Fastly in 2021 [18], achieved through automated transformations to a WebAssembly binary.…”
Section: Introductionmentioning
confidence: 99%