wassail WebAssembly Analyzer e Biblioteca de Inspeção) é um kit de ferramentas para executar a análise estática leve e pesada dos módulos WebAssembly.
Partes da Wassail podem ser executadas no seu navegador da Web aqui.
Instale Opam
Run opam install core_unix
Execute opam install .
O Wassail pode executar várias tarefas nos módulos WebAssembly, tanto em sua representação textual (arquivos .wat ) quanto em sua representação binária ( .wasm )
$ wassail imports foo.wasm
0 time i32 - > i32
1 ctime i32 - > i32
2 roundf f32 - > f32
...$ wassail exports foo.wasm
11563 atof i32 - > f64
11586 strlen i32 - > i32
11483 fopen i32, i32 - > i32
...Os tamanhos das seções são relatados em bytes.
$ wassail sizes foo.wasm
1962 type
8724 import
13120 func
0 table
0 memory
23 global
1316 export
0 start
9480 elem
2063620 code
507825 data Para gerar o gráfico de chamadas para um módulo foo.dot :
$ wassail callgraph benchmarks/benchmarksgame/fankuchredux.wat foo.dotGráfico de saída:

Você pode gerar um único CFG, por exemplo, para gerar o CFG da função 1 do arquivo foo.wat para foo.dot :
$ wassail cfg foo.wasm 1 foo.dotOu você pode gerar todos os CFGs em um determinado diretório:
$ wassail cfgs foo.wat out/Exemplo de saída:

As contribuições são bem -vindas! A Wassail é licenciada sob as condições da licença GPLV3.0 com uma cláusula de uso não comercial.
$ make test Você pode acessar a interface da web aqui ou compilá -lo para si mesmo:
$ opam install js_of_ocaml js_of_ocaml-ppx
$ make js
$ open js/index.htmlAs seguintes publicações usam a Wassail: