Оценка сложности алгоритмов построения дерева доминаторов в контексте имплементации алгоритмов анализа потока данных в реализации фронтенда компилятора языка программирования Solidity
Аннотация
Дата поступления статьи: 06.09.2024Данная статья рассматривает два из наиболее применимых алгоритмов построения дерева доминаторов в контексте статического анализа кода на языке программирования Solidity. Оба алгоритма: итеративный алгоритм Cooper, Harvey, Kennedy и алгоритм Lengauer-Tarjan считаются эффективными и широко используются на практике. В статье производится сравнение алгоритмов, оценка их сложности и выбор наиболее предпочтительного в контексте данного языка. Для сравнения были использованы критерии, такие как время выполнения и использование памяти. Итеративный алгоритм Cooper, Harvey, Kennedy показал более высокую производительность при работе с небольшими проектами, в то время как алгоритм Lengauer-Tarjan лучше справился с анализом более крупных проектов. Однако, в целом, итеративный алгоритм Cooper, Harvey, Kennedy оказался более предпочтительным в контексте Solidity, так как он показал более высокую эффективность и точность при анализе смарт-контрактов на данном языке программирования. В заключение, данная статья может быть полезна для разработчиков и исследователей, которые занимаются статическим анализом кода на языке Solidity, и которые могут использовать результаты и выводы данного исследования в своей работе.
Ключевые слова: дерево доминаторов, Solidity, сравнение алгоритмов
1.2.2 - Математическое моделирование, численные методы и комплексы программ
.