exponenta event banner

Запуск средства поиска ошибок Polyspace на рабочем столе

Программа Polyspace ® Bug Finder™ выявляет ошибки во время выполнения, проблемы параллелизма, уязвимости безопасности и другие дефекты встраиваемого программного обеспечения C и C++. Используя статический анализ, включая семантический анализ, Bug Finder анализирует поток управления, поток данных и межпроцедурное поведение. Выделяя дефекты сразу после их обнаружения, программа Bug Finder позволяет отсеивать и исправлять ошибки на ранних этапах процесса разработки.

Программу Bug Finder можно запускать на полных проектах C/C + + из пользовательского интерфейса Polyspace в поддерживаемой среде разработки (IDE), например, Eclipse™ или с помощью сценариев. См.:

  • Запуск Polyspace в интерфейсе пользователя

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

  • Запуск Polyspace в командной строке Windows или Linux

    После настройки проекта в интерфейсе пользователя Polyspace и выполнения нескольких пробных запусков можно экспортировать конфигурацию в сценарии, запускаемые автоматически или по запросу. Анализ Polyspace также можно выполнить непосредственно из командной строки операционной системы. Затем можно сохранить команды в пакетных файлах (Windows) или сценариях оболочки (Linux) для последующих запусков. При работе с продуктами Polyspace Server с помощью средств непрерывной интеграции, таких как Jenkins, можно повторно использовать сценарии из настольных продуктов Polyspace.

  • Запуск Polyspace в IDE

    После ознакомления с запуском Polyspace из командной строки можно создать пункты меню в среде IDE, которые запускают сценарии и запускают анализ Polyspace одним щелчком мыши. В IDE на основе Eclipse и Eclipse можно установить подключаемый модуль Polyspace, который вообще не требует дополнительной установки. При запуске Polyspace из плагина Eclipse конфигурация анализа создается непосредственно из проекта Eclipse.

    Вместо анализа полных проектов в среде IDE можно проанализировать только текущий файл, с которым вы работаете, используя Polyspace в качестве кода. В часто используемых IDE, таких как Visual Studio, Visual Studio Code или Eclipse, можно установить расширение/подключаемый модуль Polyspace в виде кода. См. раздел Запуск Polyspace как код в IDE и результаты проверки (Polyspace Bug Finder Access).

  • Запустить полиспейс в MATLAB

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

Чтобы выполнить действия, описанные в этом учебном пособии, скопируйте файлы из polyspaceroot\polyspace\examples\cxx\Bug_Finder_Example\sources в другую папку. Здесь, polyspaceroot является папкой установки Polyspace, например, C:\Program Files\Polyspace\R2021a.

Запуск Polyspace в интерфейсе пользователя

Открыть интерфейс пользователя Polyspace

Дважды щелкните значок polyspace исполняемый файл в polyspaceroot\polyspace\bin. Здесь, polyspaceroot является папкой установки Polyspace, например, C:\Program Files\Polyspace\R2021a. См. также Папку установки.

При настройке ярлыка Polyspace на рабочем столе или в меню «Пуск» Windows ® дважды щелкните ярлык.

Добавить исходные файлы

Для выполнения анализа необходимо создать новый проект Polyspace. Проект Polyspace указывает на источник и включает папки в файловой системе.

В левой части панели «Начальная страница» нажмите кнопку «Начать новый проект». Либо выберите «Файл» > «Новый проект».

После указания имени проекта на следующих экранах добавьте источник и включите папки (обе папки могут быть одинаковыми). В этом учебном пособии добавьте путь к папке, в которой был сохранен исходный файл, и добавьте файлы.

После завершения добавления источника и добавления папок на панели «Диспетчер проектов» появится новый проект. Исходные папки копируются в первый модуль проекта. Чтобы добавить дополнительные папки позже, щелкните проект правой кнопкой мыши. При последующем добавлении папок их необходимо явно скопировать в модуль.

Настройка и запуск Polyspace

Можно изменить опции по умолчанию, связанные с анализом Polyspace.

Щелкните узел Конфигурация в модуле проекта. При необходимости измените параметры на панели Конфигурация (Configuration). Например, в узле Coding Rules & Code Metrics выберите Check MISRA C:2004.

Дополнительные сведения см. в подсказке по каждому параметру. Щелкните ссылку Дополнительная справка для контекстной справки по параметрам.

Чтобы начать анализ, щелкните Выполнить поиск ошибок (Run Bug Finder) на верхней панели инструментов. Если кнопка указывает на средство проверки кода, щелкните стрелку рядом с кнопкой, чтобы переключиться на средство поиска ошибок.

Следите за ходом анализа в окне Сводка вывода (Output Summary). После анализа результаты открываются автоматически.

Дополнительная информация

См.:

Запуск Polyspace в командной строке Windows или Linux

Вы можете запустить Bug Finder из командной строки Windows или Linux ® с пакетом (.bat) файлов или оболочки (.sh) сценарии.

Для выполнения анализа Bug Finder используйте polyspace-bug-finder команда.

Чтобы сохранить ввод полного пути к команде, добавьте путь polyspaceroot\polyspace\bin в Path переменная среды в операционной системе. Здесь, polyspaceroot является папкой установки Polyspace, например, C:\Program Files\Polyspace\R2021a.

Перейдите в папку, в которой были сохранены файлы (с помощью cd). Введите следующее:

polyspace-bug-finder -sources numerical.c,dataflow.c -I . -results-dir .
Здесь, . указывает текущую папку. Используются следующие опции:

  • -sources: Укажите исходные файлы, разделенные запятыми.

  • -I: Укажите путь для включения папки. Используйте -I каждый раз при добавлении отдельной папки включения.

  • -results-dir: Укажите путь к папке, в которой будут сохранены результаты поиска ошибок Polyspace.

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

После анализа результаты сохраняются в файле. ps_results.psbf. Этот файл можно открыть в интерфейсе пользователя Polyspace. Например, введите следующее:

polyspace ps_results.psbf

Вместо указания разделенных запятыми источников непосредственно в командной строке можно перечислить источники в текстовом файле (по одному файлу на строку). Использовать опцию -sources-list-file для указания этого текстового файла.

Дополнительная информация

См.:

Запустить Polyspace в затмении

При разработке кода в Eclipse или среде IDE на основе Eclipse можно запустить программу проверки кода непосредственно из среды IDE.

После установки плагина Eclipse можно запустить Polyspace непосредственно над файлами в проектах Eclipse.

На панели «Обозреватель проектов» в Eclipse выберите проект. Чтобы использовать поиск ошибок для анализа, выберите Polyspace > Поиск ошибок. Чтобы начать анализ, выберите Полиспейс (Polyspace) > Выполнить (Run) (Ctrl + R).

После анализа результаты автоматически открываются в Eclipse.

Дополнительная информация

См. раздел Выполнение анализа пространства в проектах затмения.

Запустить полиспейс в MATLAB

Перед запуском Polyspace из MATLAB ® необходимо связать установки Polyspace и MATLAB. См. раздел Интеграция полиспейса с MATLAB и Simulink.

Для выполнения анализа используйте polyspace.Project объект. Объект имеет два свойства:

  • Configuration: Укажите параметры анализа, такие как источники, include, компилятор и папка результатов, используя это свойство.

  • ResultsПосле анализа прочтите результаты анализа в таблицу MATLAB, используя это свойство.

Для выполнения анализа используйте run способ данного объекта.

Запуск Polyspace для файла примера numerical.c в polyspaceroot\polyspace\examples\cxx\Bug_Finder_Examples\sourcesвведите в командной строке MATLAB следующее.

proj = polyspace.Project

% Configure analysis
proj.Configuration.Sources = {fullfile(polyspaceroot, 'polyspace', ... 
    'examples', 'cxx', 'Bug_Finder_Example', 'sources', 'numerical.c')};
proj.Configuration.TargetCompiler.Compiler = 'gnu4.9';
proj.Configuration.EnvironmentSettings.IncludeFolders = {fullfile(polyspaceroot, ...
'polyspace', 'examples', 'cxx', 'Bug_Finder_Example', 'sources')}
proj.Configuration.ResultsDir = fullfile(pwd,'results');

% Run analysis
bfStatus = proj.run('bugFinder');

% Read results
resObj = proj.Results;
bfSummary = getSummary(resObj, 'defects');
bfResults = getResults(resObj, 'readable');

После анализа результаты сохраняются в файле. ps_results.psbf. Этот файл можно открыть в интерфейсе пользователя Polyspace. Например, введите следующее:

resultsFile = fullfile(proj.Configuration.ResultsDir,'ps_results.psbf');
polyspaceBugFinder(resultsFile)

Дополнительная информация

См.:

Связанные темы