Um construtor de gráficos de fluxo de controle para contratos inteligentes da Solity.
Este pacote gera um gráfico de fluxo de controle a partir de contratos de solidez. Os gráficos de fluxo de controle são úteis como uma representação gráfica da semântica dos programas e são a base de muitas abordagens de análise estática para otimizar e verificar programas. Este pacote é a base de uma abordagem de análise estática que estou desenvolvendo atualmente.
O Solity-CFG-Builder é desenvolvido em Haskell, utilizando um analisador de sintaxe de solidez usado na ferramenta de verificação de tempo de execução para a Solidity ContractLarva. A versão do analisador usada no projeto é embalada no projeto.
Essa ferramenta dada o código de solidez gera um gráfico de fluxo de controle na notação de pontos, que pode ser visualizada usando o GraphViz.
Requisitos: Cabal v2.4.* (Por exemplo, instale a plataforma Full Haskell)
Compilação: Siga as instruções aqui
Para obter resultados corretos, sempre verifique se o código de solidez compila com um compilador de solidez.
Para usar a ferramenta, passe a localização de um arquivo de solidez e o local preferido da saída para o executável, por exemplo, execute:
"./solity-cfg-builder" <Solidity-code.sol> <cfg.gv>
Este projeto está licenciado nos termos da licença Apache 2.0.
Verifique se você instalou o Parsec. Além disso, consulte este thread Stackoverflow (https://stackoverflow.com/questions/9058914/cant-find-parsec-modules-in-ghci)
Cabal Instale Parsec