Skip to content

BZTesting/WarpL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

Overview

WarpL is our proposed mutation-based method to pinpoint the exact suboptimal instruction sequences responsible for performance issues in Wasm runtimes. The above is our prototype implementation for performance issues in Wasmtime, WasmEdge, and Wasmer. For more details, you can read our paper, Debugging Performance Issues in WebAssembly Runtimes via Mutation-based Inference (published in ICSE'2026).

WarpL
├── experiment_data # evaluation on 12 performance issues
├── source_code
│   ├── analysis_scripts # scripts that coordinate the whole workflow of WarpL
│   ├── binaryen-mutate # fine-grained Wasm bytecode mutation based on binaryen
│   └── WasmEdge-dump # modified WasmEdge which can dump machine code when compilation
└── README.md

Usage

  1. Install Pre-requirement
  1. Build wasm-mutate
  • cd binaryen-mutate
  • git init
  • git submodule init
  • git submodule update
  • cmake .
    • If this commands fails, check whether the submodules are downloaded successfully in third_party
  • make -j8

Check whether bin/wasm-mutate --help can run successfully.

  1. Start Analysis
  • copy the whole analysis_scripts folder as analysis
  • move the bug-inducing wasm program into analysis folder and rename it as case.wasm
  • cd analysis
  • update the configurations in config.ini
  • run python3 run.py

The report will be generated at diff/index.html

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors