/cpg-generator

Primary LanguagePythonMIT LicenseMIT

Генератор графа свойств кода (Code Property Generator)

Генератор являлся одной из двух главных частей моей выпускной квалификационной работы. Поддерживаются только Java-приложения

Инструкция по запуску

Инициализация проекта

$ python src\cli.py init djva-analysis

Создается папка с конфигурационным файлом

  • name – общее название проекта по анализу,

  • target-dir – путь к директории с анализируемым веб-приложением,

  • DB – путь к файлу общей базы данных (по умолчанию, это текущая директория),

  • orientdb-name – имя графовой БД,

  • orientdb-user – имя пользователя графовой БД,

  • orientdb-pass – пароль пользователя графовой БД,

  • web-framework – веб-фреймворк анализируемого веб-приложения (допустимые значения – «Struts2» и «SpringMVC»).

После того, как вы задали настройки, запустите статический анализ (из директории с конфигурационным файлом)

$ python src\cli.py run-static

В рабочей директории появится файл общей базы данных с основными результатами статического анализа, а также папка plots, содержащая графические представления AST, CFG и DFG в формате SVG. Для более удобной навигации по этим графическим представлениям можно воспользоваться веб-интерфейсом, который работает через веб-сервер. Команда запуска

$ python src\cli.py web

На этом этапе работа статического анализа завершена, и начинается этап динамического анализа. Однако файлы были утеряны :( Тем не менее модули динамического анализа можно восстановить из текста ВКР (см. приложения).