Pembuat grafik aliran kontrol untuk kontrak pintar soliditas.
Paket ini menghasilkan grafik aliran kontrol dari kontrak soliditas. Grafik aliran kontrol sangat membantu sebagai representasi grafis dari semantik program, dan merupakan dasar dari banyak pendekatan analisis statis untuk mengoptimalkan dan memverifikasi program. Paket ini adalah dasar dari pendekatan analisis statis yang sedang saya kembangkan.
Solidity-CFG-Builder dikembangkan di Haskell, menggunakan parser sintaks soliditas yang digunakan dalam alat verifikasi runtime untuk Solidity ContractLarva. Versi parser yang digunakan dalam proyek ini dikemas dalam proyek.
Alat yang diberikan kode soliditas ini menghasilkan grafik aliran kontrol dalam notasi titik, yang dapat divisualisasikan menggunakan GraphViz.
Persyaratan: Cabal V2.4.* (Misalnya Instal Platform Haskell Lengkap)
Kompilasi: Ikuti instruksi di sini
Untuk hasil yang benar selalu pastikan bahwa kode soliditas dikompilasi dengan kompiler soliditas.
Untuk menggunakan alat lulus lokasi file soliditas dan lokasi output yang disukai ke yang dapat dieksekusi, misalnya menjalankan:
"./solidity-cfg-builder" <Solidity-Code.sol> <cfg.gv>
Proyek ini dilisensikan berdasarkan ketentuan lisensi Apache 2.0.
Pastikan Anda telah menginstal parsec. Juga, lihat utas StackOverflow ini (https://stackoverflow.com/questions/9058914/cant-find-parsec-modules-in-ghci)
Cabal Instal Parsec