Файлы опций для анализа Polyspace

Чтобы адаптировать строение анализа Polyspace к среде разработки и требованиям, необходимо изменить строение по умолчанию с помощью опций командной строки, таких как -compiler. Файлы опций являются удобным способом собрать несколько опций вместе и повторно использовать их между проектами.

Что такое Файлы опций

Файлы опций являются текстовыми файлами с одной опцией на линию. Например, содержимое файла опций может выглядеть следующим образом:

# Options for Polyspace analysis
# Options apply to all projects in Controller module
-compiler visual16.x
-D _WIN32
-code-behavior-specifications "Z:\utils\polyspace\forbiddenfunctions.xml"
Линии, начинающиеся с # представление комментариев для лучшей читаемости. Эти линии игнорируются во время анализа.

Определение файлов опций

В зависимости от платформы, на которой вы запускаете анализ, можно задать файл опций одним из следующих способов.

Командная строка

В командной строке (и в скриптах) укажите файл опций в качестве аргумента опции -options-file.

Например, вместо команды:

polyspace-bug-finder -sources file.c -compiler visual16.x -D _WIN32 -code-behavior-specifications "Z:\utils\polyspace\forbiddenfunctions.xml"
Сохранить это содержимое:
-compiler visual16.x
-D _WIN32
-code-behavior-specifications "Z:\utils\polyspace\forbiddenfunctions.xml"
В файл options.txt в пути Z:\utils\polyspace\ и сократите команду до:
polyspace-bug-finder -sources file.c -options-file "Z:\utils\polyspace\options.txt"

Можно использовать файлы опций с этими командами Polyspace:

  • polyspace-bug-finder

  • polyspace-bug-finder-server

  • polyspace-bug-finder-access

  • polyspace-code-prover

  • polyspace-code-prover-server

IDE

Если вы запускаете Polyspace в качестве кода с использованием расширений IDE, обычно вы задаете три группы опций по-разному:

  • Опции сборки:

    Можно извлечь опции сборки из существующих программных продуктов, таких как команды сборки и база данных компиляции JSON, или собрать все опции сборки в файле параметров. Вы можете задать этот файл опций в соответствующей настройке расширения:

    • Код Visual Studio: Analysis Options > Manual Setup > Build Setting : Polyspace Build Options File

    • Visual Studio: Get from Polyspace build options file (в разделе Build Configuration)

    • Затмение: Get from Polyspace build options file (в разделе Build Configuration)

  • Шашки:

    Можно задать шашки с помощью мастера выбора шашек. Для получения дополнительной информации смотрите Установка чекеров в Polyspace as You Code (Polyspace Bug Finder Access).

  • Другие оставшиеся опции:

    Все оставшиеся опции могут быть собраны во втором файле параметров, который переходит в соответствующую настройку расширения:

    • Код Visual Studio: Analysis Options > Manual Setup: Other Analysis Options

    • Визуальная студия: Analysis configuration > Analysis options file

    • Затмение: Analysis options file

Если вы используете файлы параметров как для опций сборки, так и для других опций, результат аналогичен указанию одного файла опций с другими опциями, добавленными к опциям сборки. См. также раздел «Определение файлов нескольких опций».

Для получения дополнительной информации о расширениях IDE смотрите:

Пользовательский интерфейс Polyspace

В пользовательском интерфейсе десктопных продуктов Polyspace обычно не требуется файл опций. Большинство опций можно задать на панели Configuration в пользовательском интерфейсе Polyspace.

Однако некоторые опции доступны только в командной строке и не имеют аналога в пользовательском интерфейсе. Если необходимо задать несколько опций только для командной строки, можно собрать их в файл опций, например commandLineStyleOptions.txt. На панели Configuration, под узлом Advanced Settings, можно ввести следующее в поле Other:

-options-file commandLineStyleOptions.txt

Задание файлов нескольких опций

Можно задать несколько файлов опций в анализе. Например, в командной строке можно ввести:

polyspace-bug-finder -sources file.c -options-file opts1.txt -options-file opts2.txt

Когда вы задаете несколько файлов опций в анализе, все опции из файлов опций добавляются к команде анализа. Например, предыдущая команда имеет тот же эффект, что и использование одного файла опций, который помещает содержимое opts1.txt выше opts2.txt.

Если опция появляется в нескольких файлах с конфликтующими аргументами, преобладает аргумент в последнем файле опций. Для образца в предыдущей команде, если opts1.txt содержит:

-checkers all
-misra3 all
И opts2.txt содержит:
-misra3 single-unit-rules
В анализе используется только аргумент single-unit-rules для опции -misra3.

Можно использовать этот набор файлов опций для переопределения опций. Например, предположим, что вы используете файл опций только для чтения, который применяется ко всему коллективу, но хочет переопределить некоторые из опций в файле. Можно переопределить опции, используя второй файл параметров, который вы создаете, и задав файл параметров после файла параметров всей команды.

Можно также задать опцию -options-file в файле опций и агрегировать несколько файлов опций таким образом.

См. также

Похожие темы