-
Notifications
You must be signed in to change notification settings - Fork 18
User Guide
Статический анализатор TSAR принимает на вход файл, содержащий программу на языке С/С++, либо внутреннее представление LLVM (LLVM IR). Тип файла определяется по расширению, для файлов содержащих LLVM IR должно быть задано расширение *.ll.
Запустить анализатор можно командой
tsar [ options ] < source0 > [...< sourceN >]
Все доступные опции можно посмотреть выполнив
tsar -help
Опции разделены на следующие категории:
-
Compilation options
управляют обработкой исходных кодов (основные стандартные опции компиляторов), выдачей диагностических сообщений, в данной группе также содержаться опции, отвечающие за инструментацию программ для выполнения динамического анализа. -
Analysis options
управляют выполнением анализа программ. -
Debugging options
позволяют получить результаты различных анализов, доступных в TSAR (-print-only=
), в данной группе также содержаться опции доступные при сборке анализатора в отладочном режиме, позволяющие получить подробную информацию о выполнении проходов TSAR. -
General options
, данная группа содержит опции для запуска доступных преобразований исходных кодов (source-to-source), а также опции отображающие структуру памяти, используемой в программе. -
Transformation options
управляют выполняемыми преобразованиями.
Особенности анализа программ рассмотрены здесь, подробнее о преобразовании программ можно посмотреть здесь, возможности инструментации программ для выполнения динамического анализа описаны здесь.
Опция
-help
отображает только основные опции, посмотреть дополнтиельные опции можно, воспользовавшись опцией-help-hidden
.
Информация, необходимая для выполнения синтаксического и семантического анализ исходного кода, также может быть задана с помощью JSON Compilation Database, которая может быть загружена из файла compile_commands.json
.
Чтобы указать путь к директории, в которой расположен данный файл можно воспользоваться опцией -build-path
, или -p
. Опции, непосредственно управляющие статическим анализом программы, должны быть заданы явно в командной строке и не должны быть указаны в Compilation Database. При использовании compile_comands.json
все явно указанные в командной строке опции, также будут использованы при анализе программы.
Файл compile_commands.json
моежт быть написан вручную или построен автоматически с помощью инструмента CMake (в случае генерации Makefile или Ninja). В случае использования CMake необходимо задать опцию CMAKE_EXPORT_COMPILE_COMMANDS
.
Написать нам можно через форму связи на сайте проекта DVM-системы.