Чтобы адаптировать строение анализа 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
Если вы запускаете 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 в качестве расширения кода в Visual Studio (Polyspace Bug Finder Access)
Сконфигурируйте Polyspace как расширение кода в Visual Studio Code (Polyspace Bug Finder Access)
Сконфигурируйте Polyspace как плагин кода в Eclipse (Polyspace Bug Finder Access)
В пользовательском интерфейсе десктопных продуктов 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
в файле опций и агрегировать несколько файлов опций таким образом.