wassail
1.0.0
wassail (WebAssembly Static Analyzer and Inspection Library)は、WebAssemblyモジュールの軽量およびヘビー級の静的分析の両方を実行するためのツールキットです。
WASSAILの一部は、ここでWebブラウザで実行できます。
オパムをインストールします
opam install core_unixを実行します
opam install .
Wassailは、テキスト表現( .watファイル)またはバイナリ表現( .wasm )の両方で、WebAssemblyモジュールで多くのタスクを実行できます。
$ 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
...セクションサイズはバイトで報告されます。
$ 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モジュールfoo.dotのコールグラフを生成するには:
$ wassail callgraph benchmarks/benchmarksgame/fankuchredux.wat foo.dot出力グラフ:

たとえば、ファイルfoo.watにfoo.dotにfile 1の関数1のCFGを生成するなど、単一のCFGを生成できます。
$ wassail cfg foo.wasm 1 foo.dotまたは、特定のディレクトリ内のすべてのCFGを生成することができます。
$ wassail cfgs foo.wat out/出力の例:

貢献は大歓迎です! Wassailは、非営利的な使用条項を備えたGPLV3.0ライセンスの条件下で認可されています。
$ make test ここからWebインターフェイスにアクセスするか、次のように自分でコンパイルすることができます。
$ opam install js_of_ocaml js_of_ocaml-ppx
$ make js
$ open js/index.html以下の出版物はwassailを使用しています: