getResults

Просмотрите все экземпляры Bug Finder или результатов Программы автоматического доказательства Кода

Описание

пример

resTable = getResults(resObj, content) возвращает таблицу, показывающую все результаты в наборе результатов Polyspace®, resObj. Результаты устанавливают resObj может быть набор результатов Bug Finder, обозначенный polyspace.BugFinderResults возразите или Программа автоматического доказательства Кода заканчивается набор, обозначенный polyspace.CodeProverResults объект. Можно управлять таблицей, чтобы произвести графики и статистику о результатах, которые вы не можете получить с готовностью из пользовательского интерфейса.

Примеры

свернуть все

В этом примере показано, как считать результаты анализа Bug Finder из MATLAB®.

Скопируйте демонстрационный набор результатов во временную папку.

resPath = fullfile(polyspaceroot,'polyspace','examples','cxx','Bug_Finder_Example', ...
'Module_1','BF_Result');
userResPath = tempname;
copyfile(resPath,userResPath);

Создайте объект результатов.

resObj = polyspace.BugFinderResults(userResPath);

Считайте результаты в таблицы MATLAB с помощью объекта.

resSummary = getSummary(resObj, 'defects');
resTable = getResults(resObj);

Запустите анализ Polyspace Bug Finder™ демонстрационного файла numerical.c. Сконфигурируйте эти опции:

  • Задайте GCC 4.9 как свой компилятор.

  • Сохраните результаты в results подпапка текущей рабочей папки.

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.ResultsDir = fullfile(pwd,'results');

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

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

В этом примере показано, как считать результаты анализа Программы автоматического доказательства Кода из MATLAB.

Скопируйте демонстрационный набор результатов во временную папку.

resPath=fullfile(polyspaceroot,'polyspace','examples','cxx','Code_Prover_Example', ...
'Module_1','CP_Result');
userResPath = tempname;
copyfile(resPath,userResPath);

Создайте объект результатов.

resObj = polyspace.CodeProverResults(userResPath);

Считайте результаты в таблицы MATLAB с помощью объекта.

resSummary = getSummary (resObj);
resTable = getResults (resObj);

Запустите анализ Polyspace Code Prover™ демонстрационного файла single_file_analysis.c. Сконфигурируйте эти опции:

  • Задайте GCC 4.9 как свой компилятор.

  • Сохраните результаты в results подпапка текущей рабочей папки.

  • Укажите что main функция должна быть сгенерирована, если она не существует в исходном коде.

proj = polyspace.Project

% Configure analysis
proj.Configuration.Sources = {fullfile(polyspaceroot, 'polyspace', 'examples',...
    'cxx', 'Code_Prover_Example', 'sources', 'single_file_analysis.c')};
proj.Configuration.TargetCompiler.Compiler = 'gnu4.9';
proj.Configuration.ResultsDir = fullfile(pwd,'results');
proj.Configuration.CodeProverVerification.MainGenerator = true;


% Run analysis
cpStatus = proj.run('codeProver');

% Read results
resObj = proj.Results;
cpSummary = getResults(resObj, 'readable');

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

свернуть все

Bug Finder или результаты Программы автоматического доказательства Кода установлены в виде polyspace.BugFinderResults или polyspace.CodeProverResults объект соответственно.

Объем информации, который будет включен для каждого результата. Если вы задаете '', вся информация включена. Если вы задаете 'readable', следующая информация не включена:

  • ID: Уникальный номер для результата для текущего анализа.

  • Группа: Проверяйте группыГруппы MISRA C:2012, и т.д.

  • Состояние, Серьезность, Комментарий: информация, которую вы вводите о результате.

Если вы не задаете этот аргумент, полная таблица включена.

Смотрите результаты анализа Polyspace экспорта.

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

свернуть все

Таблица, показывающая все результаты одного Bug Finder или анализа Программы автоматического доказательства Кода. Для каждого результата таблица имеет информацию, такую как файл, семейство, и так далее. Если особая информация не доступна для результата, запись в таблице утверждает <undefined>.

Для получения дополнительной информации о:

Введенный в R2017a