Un constructeur de graphiques à flux de contrôle pour Solidity Smart Contracts.
Ce package génère un graphique de flux de contrôle à partir des contrats de solidité. Les graphiques de flux de contrôle sont utiles en tant que représentation graphique de la sémantique des programmes et sont la base de nombreuses approches d'analyse statique pour optimiser et vérifier les programmes. Ce package est la base d'une approche d'analyse statique que je développe actuellement.
Solidity-CFG-Builder est développé dans Haskell, en utilisant un analyseur de syntaxe Solidity utilisé dans l'outil de vérification d'exécution pour Solidity ContractLarva. La version de l'analyseur utilisé dans le projet est emballée dans le projet.
Cet outil donné le code de solidité génère un graphique de flux de contrôle en notation de points, qui peut être visualisé à l'aide de Graphviz.
Exigences: Cabal v2.4. * (Par exemple, installer la plate-forme Haskell complète)
Compilation: suivez les instructions ici
Pour les résultats corrects, assurez-vous toujours que le code de solidité se compile avec un compilateur de solidité.
Pour utiliser l'outil passez l'emplacement d'un fichier de solidité et l'emplacement préféré de la sortie à l'exécutable, par exemple, exécuter:
"./solidity-cfg-builder" <solidité-code.sol> <cfg.gv>
Ce projet est concédé sous licence de la licence Apache 2.0.
Assurez-vous que vous avez installé Parsec. Voir également ce thread Stackoverflow (https://stackoverflow.com/questions/9058914/cant-find-parsec-modules-in-ghci)
Cabale Install Parsec