wassail (WebAssembly Static Analyzer y Biblioteca de inspección) es un kit de herramientas para realizar un análisis estático ligero y pesado de los módulos WebSembly.
Partes de Wassail se pueden ejecutar en su navegador web aquí.
Instalar OPAM
Ejecutar opam install core_unix
Ejecute opam install .
Wassail puede realizar una serie de tareas en los módulos de WebAssembly, tanto en su representación textual (archivos .wat ) como en su representación binaria ( .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
...Los tamaños de sección se informan en 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 generar el gráfico de llamadas para un módulo foo.dot :
$ wassail callgraph benchmarks/benchmarksgame/fankuchredux.wat foo.dotGráfico de salida:

Puede generar un solo CFG, por ejemplo, para generar el CFG de la función 1 desde el archivo foo.wat en foo.dot :
$ wassail cfg foo.wasm 1 foo.dotO puede generar todos los CFG en un directorio determinado:
$ wassail cfgs foo.wat out/Salida de ejemplo:

¡Las contribuciones son bienvenidas! Wassail tiene licencia bajo las condiciones de la licencia GPLV3.0 con una cláusula de uso no comercial.
$ make test Puede acceder a la interfaz web aquí, o compilarla para usted de la siguiente manera:
$ opam install js_of_ocaml js_of_ocaml-ppx
$ make js
$ open js/index.htmlLas siguientes publicaciones usan WasSail: