Запустите верификацию Polyspace Code Prover из MATLAB
Для более легкого скриптирования запустите Polyspace® анализ с использованием polyspace.Project
объект.
polyspaceCodeProver
Открывает Polyspace Code Prover™.
открывает файл проекта Polyspace в Polyspace Code Prover.status
= polyspaceCodeProver(projectFile
)
запускает верификацию на Объект опций Polyspace в MATLAB®.status
= polyspaceCodeProver(optsObject
)
запускает верификацию файла проекта Polyspace в MATLAB. Если у вас есть несколько модулей или строений, Polyspace запускает активное строение и активный модуль. Чтобы увидеть, какие модуль и строение активны, откройте проект в интерфейсе Polyspace и проверьте полужирный, выбранный модуль и строение. Чтобы изменить модуль или строение, прежде чем закрывать интерфейс Polyspace, выберите модуль и строение, которые вы хотите проверить. status
= polyspaceCodeProver(projectFile
,
'-nodesktop')
открывает файл результатов Polyspace в Polyspace Code Prover.status
= polyspaceCodeProver(resultsFile
)
открывает файл результатов Polyspace из status
= polyspaceCodeProver('-results-dir',resultsFolder
)resultsFolder
в Polyspace Code Prover.
отображает все опции, которые могут быть поставлены в status
= polyspaceCodeProver('-help')polyspaceCodeProver
команда для запуска верификации Polyspace Code Prover.
запускает верификацию Polyspace Code Prover на исходных файлах, указанных в status
= polyspaceCodeProver('-sources',sourceFiles
)sourceFiles
.
polyspaceCodeProver('-sources',
запускает верификацию Polyspace Code Prover на исходных файлах с дополнительными опциями, заданными одним или несколькими sourceFiles
,Name,Value
)Name,Value
аргументы в виде пар.
Примечание
Перед запуском Polyspace из MATLAB необходимо связать установки Polyspace и MATLAB. См. «Интеграция Polyspace с MATLAB и Simulink».
В этом примере показано, как открыть файл проекта 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. В этом примере вы открываете файл результатов из папки
.polyspaceroot
\ polyspace\examples\cxx\Code _ Prover _ Example\Module _ 1\CP _ результат
Присвойте полный путь к папке переменного MATLAB resFolder
.
resFolder = fullfile(polyspaceroot, 'polyspace', 'examples', ... 'cxx', 'Code_Prover_Example', 'Module_1', 'CP_Result');
Откройте результаты.
polyspaceCodeProver('-results-dir',resFolder)
В этом примере показано, как запустить верификацию 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.
Запустите анализ и откройте результаты.
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);
В этом примере показаны два различных способа настройки верификации в MATLAB. Можно настроить любое количество дополнительных опций путем изменения свойств в объекте options или с помощью пар "имя-значение". Вы задаете проверку MISRA C® 2012, исключить заголовки из проверки правил кодирования и сгенерировать основную.
Чтобы создать переменные для пути к исходному файлу, включите путь к папке и путь к папке результатов, которые можно использовать для любого из методов анализа.
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);