Ein Kontroll-Flow-Graph-Builder für Solidity-Smart Contracts.
Dieses Paket generiert ein Steuerungsdiagramm aus Soliditätsverträgen. Kontroll-Flow-Diagramme sind als grafische Darstellung der Semantik von Programmen hilfreich und die Grundlage vieler statischer Analyseansätze zur Optimierung und Überprüfung von Programmen. Dieses Paket ist die Grundlage eines statischen Analyseansatzes, den ich derzeit entwickle.
Solidity-CFG-Builder wird in Haskell entwickelt, wobei ein im Tool zur Verifizierung von Laufzeitverifizierung für Solidity ContractLarva verwendetes Solidity-Syntax-Parser verwendet wird. Die Version des im Projekt verwendeten Parsers ist im Projekt verpackt.
Dieses Tool mit Soliditätscode generiert in der Punktnotation einen Kontroll-Flow-Diagramm, der mithilfe von GraphViz visualisiert werden kann.
Anforderungen: Cabal v2.4.* (Z. B. installieren Sie die vollständige Haskell -Plattform)
Zusammenstellung: Befolgen Sie hier die Anweisungen
Für korrekte Ergebnisse stellen Sie immer sicher, dass der Soliditätscode mit einem Solidity Compiler kompiliert.
Um das Tool zu verwenden, übergeben Sie den Speicherort einer Soliditätsdatei und den bevorzugten Speicherort der Ausgabe an die ausführbare Datei, z. B. Ausführung:
"
Dieses Projekt ist unter den Bestimmungen der Apache 2.0 -Lizenz lizenziert.
Stellen Sie sicher, dass Sie Parsec installiert haben. Siehe auch diesen Stackoverflow-Thread (https://stackoverflow.com/questions/9058914/cant-find-parsec-modules-in-ghci)
Cabal Installieren Sie Parsec