Анализ целой кодовой базы для отдельного приложения может занять много времени, в зависимости от размера приложения.
Для крупного приложения, Polyspace® позволяет вам:
Разделите приложение в модули, которые индивидуально требуют, чтобы меньше времени проверило.
Задайте количество модулей в компромиссе между скоростью верификации и точностью.
Можно выполнить более быстрый анализ с большим числом маленьких модулей. Во время разделения программное обеспечение автоматически минимизирует перекрестные ссылки на модули. Однако с большим количеством модулей, большая ссылка перекрестного модуля требуется во время верификации, которая приводит к потере точности.
Можно разделить приложение в модули с помощью следующей пакетной команды:
polyspace-modularize [target_folder] {option1,option2,...}
| Опция | Описание |
|---|---|
| Папка, которая содержит результаты начального запуска, это обрабатывает исходные файлы. Значением по умолчанию является папка, от которой вы запускаете polyspace-modularize. |
- o= | Выведите папку для разделенного приложения. Значением по умолчанию является папка, от которой вы запускаете polyspace-modularize. |
- gui= | Среда верификации Polyspace отображает окно выбора Модульного исполнения с предопределенным пределом для максимального количества модулей, которые можно выбрать. Используйте эту опцию, чтобы задать новый предел . |
- matlab= | Если кэш данных для Модульного исполнения окна выбора не существует, создайте кэш .Кэш включает более быстрое отображение Модульного исполнения окна выбора.
Никакое действие, если кэш уже существует. |
- modules= | Приложение раздела в модули. Идентичный нажатию на серую область сопоставлен с в окне выбора Модульного исполнения. |
- max-complexity= | Приложение разделов в модули со ссылкой на заданную максимальную сложность . Сложность функции является номером, который связан с размером функции. Сложность модуля является суммой сложностей функций в модуле. При разделении приложения программное обеспечение минимизирует использование перекрестных ссылок на модули к функциям и переменным согласно ограничению, что сложность модуля не превышает Если вы делаете |
Чтобы обеспечить все функции, чтобы иметь сложность 1, запустите следующую команду:
polyspace-modularize -uniform-complexities
По умолчанию папки результатов модуляризации называют :projectName_kk_module
любой макс. аргумент сложности, который вы даете kk-max-complexity, или количество модулей.
Можно управлять именованием папок результата в ith модуль с помощью -stem опция:
polyspace-modularize -stem=stem_format polyspace-modularize -stem=MyName
stem_format строка. # и @ символы в строке обрабатываются можно следующим образом:
# — Замененный количеством модулей в разделении.
@ — Замененный аргументом -max-complexity.
Например, если вы хотите собственное имя, MyName, который заменяет название проекта и не включает номер модуля, затем запускаться:
По умолчанию программное обеспечение позволяет графику зависимости модуля иметь циклы. Однако в некоторых случаях вы можете получить лучшие результаты с графами без петель. Используйте следующую команду:
polyspace-modularize -forbid-cycles