Запуск Polyspace Bug Finder на рабочем столе

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 с помощью инструментов непрерывного интегрирования, таких как Jenkins, можно переиспользовать скрипты из десктопных решений Polyspace.

  • Запуск Polyspace в IDE

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

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

  • Запуск Polyspace в 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 на рабочем столе или в Start меню Windows®дважды кликните ярлык.

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

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

В левой части панели Start Page нажмите Start a new project. Также выберите File > New Project.

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

После завершения добавления исходного кода и включения папок на панели Project Browser отображается новый проект. Исходные папки копируются в первый модуль проекта. Можно щелкнуть правой кнопкой мыши проект, чтобы добавить больше папок позже. Если вы добавляете папки позже, необходимо явным образом скопировать их в модуль.

Сконфигурируйте и запустите Polyspace

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

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

Для получения дополнительной информации см. всплывающую подсказку по каждой опции. Щелкните ссылку More help для контекстно-зависимой справки по опциям.

Чтобы начать анализ, щелкните Run Bug Finder на верхней панели инструментов. Если кнопка указывает Code Prover, щелкните стреле рядом с кнопкой, чтобы переключиться на 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 Bug Finder.

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

После анализа результаты сохраняются в файле ps_results.psbf. Открыть этот файл можно из пользовательского интерфейса Polyspace. Для образца введите следующее:

polyspace ps_results.psbf

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

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

См.:

Запуск Polyspace в Eclipse

Если вы разрабатываете код в Eclipse или основанной на Eclipse среде IDE, можно запустить Code Prover непосредственно из среды IDE.

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

На панели Project Explorer в Eclipse выберите свой проект. Чтобы использовать Bug Finder для анализа, выберите Polyspace > Bug Finder. Чтобы начать анализ, выберите Polyspace > Run (Ctrl + R).

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

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

Смотрите Запуск анализа Polyspace на проектах Eclipse.

Запуск Polyspace в MATLAB

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

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

  • Configuration: Задайте опции анализа, такие как источники, включения, компилятор и папка результатов, используя это свойство.

  • 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)

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

См.:

Похожие темы