polyspaceBugFinder

Запустите анализ Polyspace Bug Finder из MATLAB

Для более легких сценариев запустите анализ Polyspace® с помощью объекта polyspace.Project.

Синтаксис

polyspaceBugFinder
polyspaceBugFinder(projectFile)
polyspaceBugFinder(optsObject)
polyspaceBugFinder(projectFile, '-nodesktop')
polyspaceBugFinder(resultsFile)
polyspaceBugFinder('-results-dir',resultsFolder)
polyspaceBugFinder('-help')
polyspaceBugFinder('-sources',sourceFiles)
polyspaceBugFinder('-sources',sourceFiles,Name,Value)

Описание

polyspaceBugFinder открывает Polyspace Bug Finder™.

пример

polyspaceBugFinder(projectFile) открывает файл проекта Polyspace в Polyspace Bug Finder.

пример

polyspaceBugFinder(optsObject) запускает анализ объекта опций Polyspace в MATLAB®.

polyspaceBugFinder(projectFile, '-nodesktop') запускает анализ файла проекта Polyspace в MATLAB.

polyspaceBugFinder(resultsFile) открывается Polyspace приводит файл к Polyspace Bug Finder.

пример

polyspaceBugFinder('-results-dir',resultsFolder) открывается Polyspace происходит файл от resultsFolder в Polyspace Bug Finder.

polyspaceBugFinder('-help') опции отображений, которые могут быть предоставлены команде polyspaceBugFinder, чтобы запустить анализ Polyspace Bug Finder.

пример

polyspaceBugFinder('-sources',sourceFiles) запускает анализ Polyspace Bug Finder исходных файлов, заданных в sourceFiles.

пример

polyspaceBugFinder('-sources',sourceFiles,Name,Value) запускает анализ Polyspace Bug Finder исходных файлов с дополнительными опциями, заданными одним или несколькими аргументами пары Name,Value.

Примечание

Прежде чем вы запустите Polyspace из MATLAB, необходимо соединить Polyspace и установки MATLAB. Смотрите Интегрируют Polyspace с MATLAB и Simulink.

Примеры

свернуть все

Этот пример показывает, как открыть файл проекта Polyspace с дополнительным .psprj из MATLAB. В этом примере вы открываете файл проекта Bug_Finder_Example.psprj от папки polyspaceroot\polyspace\examples\cxx\Bug_Finder_Example.

Откройте проект Bug_Finder_Example.psprj в интерфейсе Polyspace.

prjFile = fullfile(polyspaceroot, 'polyspace', 'examples', 'cxx', ...
         'Bug_Finder_Example', 'Bug_Finder_Example.psprj');
polyspaceBugFinder(prjFile);

Этот пример показывает, как открыться, Polyspace происходит файл от MATLAB. В этом примере вы открываете файл результатов от папки polyspaceroot\polyspace\examples\cxx\Bug_Finder_Example\Results.

Откройте результаты resFolder.

resFolder = fullfile(polyspaceroot, 'polyspace', 'examples',  ...
         'cxx', 'Bug_Finder_Example', 'Results');
polyspaceBugFinder('-results-dir',resFolder)

Этот пример показывает, как запустить анализ Polyspace из командной строки MATLAB. Для этого примера:

  • Сохраните исходный файл C, source.c, в папке C:\Polyspace_Sources.

  • Сохраните включать файл в папке C:\Polyspace_Includes.

Создайте, опции возражают и добавляют исходный файл и включают папку в свойства.

opts = polyspace.BugFinderOptions;
opts.Sources = {'C:\Polyspace_Sources\source.c'};
opts.EnvironmentSettings.IncludeFolders = {'C:\Polyspace_Includes'};
opts.ResultsDir = 'C:\Polyspace_Results';

Polyspace работает на файле C:\Polyspace_Sources\source.c и хранит результат в C:\Polyspace_Results.

Запустите анализ и просмотрите результаты.

polyspaceBugFinder(opts);
polyspaceBugFinder('-results-dir',opts.ResultsDir)

Этот пример показывает, как запустить анализ Polyspace в MATLAB. Для этого примера:

  • Сохраните исходный файл C, source.c, в папке C:\Polyspace_Sources.

  • Сохраните включать файл в папке C:\Polyspace_Includes.

Чтобы анализировать C:\Polyspace_Sources\source.c, запустите следующую команду.

polyspaceBugFinder('-sources','C:\Polyspace_Sources\source.c', ...
    '-I','C:\Polyspace_Includes', ...
    '-results-dir','C:\Polyspace_Results')

Просмотреть результаты, введите:

polyspaceBugFinder('-results-dir','C:\')

Этот пример показывает два различных способа настроить анализ в MATLAB. Можно настроить столько дополнительных опций, сколько вы хотите путем изменения свойств в объекте опций или при помощи Пар "имя-значение". Здесь вы задаете проверку правил кодирования MISRA C® 2012.

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

sourceFileName = fullfile(polyspaceroot, 'polyspace','examples', 'cxx', 'Bug_Finder_Example','sources','dataflow.c');
resFolder1 = fullfile('Polyspace_Results_1');
resFolder2 = fullfile('Polyspace_Results_2');

Анализируйте правила кодирования с объектом опций.

opts = polyspace.BugFinderOptions();
opts.Sources = {sourceFileName};
opts.ResultsDir = resFolder1;
opts.CodingRulesCodeMetrics.MisraC3Subset = 'all';
opts.CodingRulesCodeMetrics.EnableMisraC3 = true;
polyspaceBugFinder(opts);
polyspaceBugFinder('-results-dir',resFolder1);

Анализируйте правила кодирования с опциями DOS/UNIX.

polyspaceBugFinder('-sources',sourceFileName,'-results-dir',resFolder2,'-misra3','all');
polyspaceBugFinder('-results-dir',resFolder2);

Входные параметры

свернуть все

Имя объекта опций Polyspace, заданное как указатель на объект.

Чтобы создать объект опций, используйте один из классов опций Polyspace.

Пример: opts

Имя файла проекта с дополнительным .psprj, заданным как вектор символов.

Если файл не находится в текущей папке, projectFile должен включать полный или относительный путь.

Пример: 'C:\Polyspace_Projects\myProject.psprj'

Типы данных: char

Имя файла результатов с дополнительным .psbf, заданным как вектор символов.

Если файл не находится в текущей папке, resultsFile должен включать полный или относительный путь.

Пример: 'myResults.psbf'

Типы данных: char

Имя папки результата, заданной как вектор символов. Папка должна содержать файл результатов с дополнительным .psbf. Если файл результатов находится в подпапке заданной папки, эта команда не открывает файл результатов.

Если папка не находится в текущей папке, resultsFolder должен включать полный или относительный путь.

Пример: 'C:\Polyspace\Results\'

Типы данных: char

Разделенный от запятой C или имена исходного файла C++, заданные как односимвольный вектор.

Если файлы не находятся в текущей папке, sourceFiles должен включать полный или относительный путь.

Пример: 'myFile.c', 'C:\mySources\myFile1.c,C:\mySources\myFile2.c'

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: '-target','i386','-compiler','gnu4.6' указывает, что исходный код предназначается для цели i386 и содержит Синтаксис C не-ANSI для GCC 4.6.

Для имен опции и значений, смотрите раздел Command-Line Information в Аналитических Опциях.

Введенный в R2013b