variableAccess

Класс: полипробел. CodeProverResults
Пакет: полипробел

Просмотрите глобальные переменные наряду с операциями чтения-записи в коде C/C++

Синтаксис

resObj.variableAccess()

Описание

varList = resObj.variableAccess() возвращает распределение глобальных переменных в наборе результатов Программы автоматического доказательства Кода, обозначенном polyspace.CodeProverResults объект resObj. Список также содержит все операции чтения и операции записи на глобальных переменных.

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

развернуть все

Таблица, показывающая все глобальные переменные от одного анализа Программы автоматического доказательства Кода наряду с операциями чтения и операциями записи на них.

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

  • Для каждой операции чтения или операции записи, таблица имеет информацию, такую как имя файла и имя функции, номер строки, и так далее.

Если особая информация не доступна для результата, запись в таблице утверждает <undefined>.

Примеры

развернуть все

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

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

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

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

resObj = polyspace.CodeProverResults(userResPath);

Считайте список глобальных переменных к таблицам MATLAB с помощью объекта.

varList = resObj.variableAccess;

Запустите анализ 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
cpSummary = proj.Results.variableAccess;

Смотрите также

Введенный в R2017a