wassail (Webassembly Static Analyzer and Inspection Library) هي مجموعة أدوات لإجراء تحليل ثابت للوزن الثقيل والوزن الثقيل لوحدات التجميع.
يمكن تشغيل أجزاء من Wassail في متصفح الويب الخاص بك هنا.
تثبيت OPAM
قم بتشغيل opam install core_unix
قم بتشغيل opam install .
يمكن لـ Wassail أداء عدد من المهام على وحدات التجميع على الويب ، سواء في تمثيلها النصي (ملفات .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.wat إلى foo.dot :
$ wassail cfg foo.wasm 1 foo.dotأو يمكنك إنشاء جميع CFGs في دليل معين:
$ 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: