Когда вы добавляете исходные файлы в проект в Polyspace® настольный пользовательский интерфейс, по умолчанию, все файлы анализируются в одном запуске. Анализ целой кодовой базы для отдельного приложения может занять много времени, в зависимости от размера приложения.
Для крупного приложения Polyspace позволяет вам:
Разделите приложение в модули, которые индивидуально требуют, чтобы меньше времени проверило.
Задайте количество модулей в компромиссе между скоростью верификации и точностью.
Можно выполнить более быстрый анализ с большим числом маленьких модулей. Во время разделения программное обеспечение автоматически минимизирует перекрестные ссылки на модули. Однако с большим количеством модулей, большая ссылка перекрестного модуля требуется во время верификации, которая приводит к потере точности.
Разделить ваше приложение в модули:
Запустите начальную верификацию, которая выполняет ограниченный анализ, но процессы все файлы вашего приложения. Например, запустите верификацию со следующими настройками панели Precision:
Precision level — 0
Verification level — Software Safety Analysis level 0
В представлении Project Browser выберите папку результатов.
Выберите Tools> Run Modularize. Программное обеспечение анализирует ваш код приложения и отображает два графика в новом окне выбора Модуляризации.
Графики показывают следующую информацию:
Красный — Максимальная сложность модуля по сравнению с количеством модулей, которое описывается как процент общей сложности приложения.
Синий — Количество общедоступных переменных и функций, когда модули ограничиваются данной сложностью.
Из графиков идентифицируйте количество модулей, в которые должно быть разделено ваше приложение. В этом примере подходящий номер равняется 2 или 4.
Количество разделенных модулей, которые вы выбираете, включает компромисс между следующим:
Время — Чем меньший максимальная сложность, тем короче время требуется для верификации. Эта экономия времени является четной больше, если различные модули проверяются параллельно.
Точность — Чем меньший количество общедоступных переменных и функций, тем больше точность верификации.
Выберите номер сразу после большого понижения максимальной сложности и перед большим увеличением количества публичных функций и переменных. Точность модульной верификации может быть очень чувствительна к количеству общедоступных переменных. Если серия горизонтальных синих линий возрастает так постепенно, что нет никакого ясного выбора номера, то:
На панели инструментов выберите Public Entities> Separate functions and variables. Программное обеспечение отображает количество общедоступных переменных и функций отдельно.
Выберите точку непосредственно перед большим скачком в количестве общедоступных переменных. В этом примере необходимо кликнуть по серой области, сопоставленной с 2
.
Кликните по вертикальной серой области, сопоставленной с количеством модулей, что вы выбираете, например, 2
. Диалоговое окно открывается.
Нажмите Yes. Программное обеспечение генерирует новый проект с двумя модулями, содержащими разделенный код.