Строитель графика управления для солидности интеллектуальных контрактов.
Этот пакет генерирует график потока управления из контрактов на солидность. Графики управления потоками полезны в качестве графического представления семантики программ и являются основой многих подходов статического анализа для оптимизации и проверки программ. Этот пакет является основой статического подхода к анализу, который я в настоящее время разрабатываю.
Solidity-CFG-Builder разрабатывается в Haskell, используя синтаксис-синтаксис Solidity, используемый в инструменте проверки времени выполнения для ContractLarva. Версия анализатора, используемого в проекте, упакована в проект.
Этот инструмент, приведенный кодом прочности, генерирует график потока управления в точечной нотации, который можно визуализировать с использованием GraphViz.
Требования: Cabal v2.4.* (Например, установите полную платформу Haskell)
Компиляция: Следуйте инструкциям здесь
Для правильных результатов всегда убедитесь, что код солидности компилируется с компилятором прочности.
Для использования инструмента пропустите местоположение файла прочности и предпочтительное местоположение вывода в исполняемый файл, например, выполнить:
"./Solidity-cfg-builder" <solidity-code.sol> <cfg.gv>
Этот проект лицензирован в соответствии с условиями лицензии Apache 2.0.
Убедитесь, что вы установили Parsec. Также см. В этом потоке StackOverflow (https://stackoverflow.com/questions/9058914/cant-find-parsec-modules-in-ghci)
Кабал Установка Парсек