wassail
1.0.0
wassail (WebAssembly静态分析仪和检查库)是对WebAssembly模块进行轻量级和重量级静态分析的工具包。
Wassail的一部分可以在您的网络浏览器中运行。
安装OPAM
运行opam install core_unix
运行opam install .
Wassail可以在WebAssembly模块上执行许多任务,包括其文本表示( .wat文件)或其二进制表示( .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
...截面大小在字节中报告。
$ 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输出图:

您可以生成单个CFG,例如foo.dot从file foo.wat中生成函数1的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: