wassail (WebAssembly Static Analyzer และ Library การตรวจสอบ) เป็นชุดเครื่องมือในการดำเนินการวิเคราะห์ทั้งแบบคงที่และเฮฟวี่เวทของโมดูล 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 เดี่ยวได้เช่นเพื่อสร้าง CFG ของฟังก์ชั่น 1 จาก foo foo.wat เป็น foo.dot :
$ wassail cfg foo.wasm 1 foo.dotหรือคุณสามารถสร้าง CFG ทั้งหมดในไดเรกทอรีที่กำหนด:
$ wassail cfgs foo.wat out/ตัวอย่างเอาต์พุต:

ยินดีต้อนรับ! Wassail ได้รับใบอนุญาตภายใต้เงื่อนไขของใบอนุญาต GPLV3.0 ด้วยประโยคการใช้งานที่ไม่ใช่เชิงพาณิชย์
$ make test คุณสามารถเข้าถึงเว็บอินเตอร์เฟสได้ที่นี่หรือรวบรวมด้วยตัวคุณเองดังนี้:
$ opam install js_of_ocaml js_of_ocaml-ppx
$ make js
$ open js/index.htmlสิ่งพิมพ์ต่อไปนี้ใช้ Wassail: