polyspaceCodeProver

Запустите верификацию Polyspace Code Prover из MATLAB

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

Описание

polyspaceCodeProver открывает Polyspace Code Prover™.

пример

status = polyspaceCodeProver(projectFile) открывает файл проекта Polyspace в Polyspace Code Prover.

status = polyspaceCodeProver(optsObject) запускает верификацию на объекте опций Polyspace в MATLAB®.

status = polyspaceCodeProver(projectFile, '-nodesktop') запускает верификацию на файле проекта Polyspace в MATLAB. Если у вас есть несколько модулей или настроек, Polyspace запускает активную настройку и активный модуль. Чтобы видеть, какой модуль и настройка активны, откройте проект в интерфейсе Polyspace и ищите полужирный, выбранный модуль и настройку. Чтобы измениться, какой модуль или настройка активны, прежде, чем закрыть интерфейс Polyspace, выбирают модуль и настройку, которую вы хотите проверить.

status = polyspaceCodeProver(resultsFile) открывается Polyspace приводит файл к Polyspace Code Prover.

пример

status = polyspaceCodeProver('-results-dir',resultsFolder) открывается Polyspace происходит файл от resultsFolder в Polyspace Code Prover.

status = polyspaceCodeProver('-help') отображения все опции, которые могут быть предоставлены polyspaceCodeProver команда, чтобы запустить верификацию Polyspace Code Prover.

пример

status = polyspaceCodeProver('-sources',sourceFiles) запускает верификацию Polyspace Code Prover на исходных файлах, заданных в sourceFiles.

пример

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

Примечание

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

Примеры

Открытые проекты Polyspace из MATLAB

В этом примере показано, как открыть файл проекта Polyspace с дополнительным .psprj из MATLAB. В этом примере откройте файл проекта Code_Prover_Example.psprj.

Присвойте полный путь к файлу проекта к переменной MATLAB prjFile.

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

Откройте проект.

polyspaceCodeProver(prjFile)

Открытый Polyspace следует из MATLAB

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

Присвойте весь путь к папке к переменной MATLAB resFolder.

resFolder = fullfile(polyspaceroot, 'polyspace', 'examples', ...
       'cxx', 'Code_Prover_Example', 'Module_1', 'CP_Result');

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

polyspaceCodeProver('-results-dir',resFolder)

Запустите верификацию Polyspace с объектом опций

В этом примере показано, как запустить верификацию Polyspace в объектах использования MATLAB.

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

opts = polyspace.CodeProverOptions;
opts.Sources = {fullfile(polyspaceroot, 'polyspace', 'examples',...
    'cxx', 'Code_Prover_Example', 'sources', 'single_file_analysis.c')};
opts.EnvironmentSettings.IncludeFolders = {fullfile(polyspaceroot, 'polyspace', 'examples',...
    'cxx', 'Code_Prover_Example', 'sources')};
opts.ResultsDir = fullfile(pwd,'results');

Запустите верификацию и просмотрите результаты.

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

Запустите верификацию Polyspace из MATLAB с опциями DOS/UNIX

В этом примере показано, как запустить верификацию Polyspace в MATLAB с помощью опций DOS/UNIX-style.

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

sourceFiles = fullfile(polyspaceroot, 'polyspace', 'examples',...
    'cxx', 'Code_Prover_Example', 'sources', 'single_file_analysis.c');
includeFolders = fullfile(polyspaceroot, 'polyspace', 'examples',...
    'cxx', 'Code_Prover_Example', 'sources');
resultsDir = fullfile(pwd,'results');
polyspaceCodeProver('-sources',sourceFiles, ...
             '-I',includeFolders, ...
             '-results-dir',resultsDir,...
             '-main-generator');
polyspaceCodeProver('-results-dir',resultsDir);

Запустите верификацию Polyspace с кодированием проверки правил

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

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

sourceFileName = fullfile(polyspaceroot, 'polyspace','examples', 'cxx', 'Code_Prover_Example','sources','example.c');
includeFileName = fullfile(polyspaceroot, 'polyspace','examples', 'cxx', 'Code_Prover_Example','sources','include.h');
resFolder1 = fullfile('Polyspace_Results_1');
resFolder2 = fullfile('Polyspace_Results_2');

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

opts = polyspace.CodeProverOptions('C');
opts.Sources = {sourceFileName};
opts.EnvironmentSettings.IncludeFolders = {includeFileName};
opts.ResultsDir = resFolder1;
opts.CodingRulesCodeMetrics.MisraC3Subset = 'mandatory';
opts.CodingRulesCodeMetrics.EnableMisraC3 = true;
opts.CodeProverVerification.EnableMain = true;
opts.InputsStubbing.DoNotGenerateResultsFor = 'all-headers';
polyspaceCodeProver(opts);
polyspaceCodeProver('-results-dir',resFolder1);

Проверьте правила кодирования с опциями DOS/UNIX.

polyspaceCodeProver('-sources',sourceFileName,...
     '-I',includeFileName, ...
     '-results-dir',resFolder2,...
     '-misra3','mandatory',...
     '-do-not-generate-results-for','all-headers',...
     '-main-generator');
polyspaceCodeProver('-results-dir',resFolder2);

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

свернуть все

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

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

Пример: opts

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

Если файл не находится в текущей папке, projectFile должен включать полный или относительный путь. Чтобы идентифицировать текущую папку, использовать pwd. Чтобы изменить текущую папку, использовать cd.

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

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

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

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

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

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

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

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

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

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

Аргументы name-value

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

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

Для полного списка опций анализа см. Полный список Опций анализа Polyspace Code Prover.

Выходные аргументы

свернуть все

Если верификация Code Prover завершается без ошибки, status false. В противном случае это - true.

Верификация может перестать работать по нескольким причинам, включая:

  • Вы обеспечили исходный файл, файл проекта или файл результатов, который не существует.

  • Вы задали недопустимый путь.

  • Один из ваших файлов не скомпилировал.

Введенный в R2013b