getSummary

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

Просмотрите количество дефектов, организованных дефектным типом

Синтаксис

resObj.getSummary(resultsType)

Описание

resSummary = resObj.getSummary(resultsType) возвращает распределение результатов типа resultsType в наборе результатов Средства поиска Ошибки, обозначенном polyspace.BugFinderResults объект resObj. Например, если вы принимаете решение видеть дефекты, вы видите, сколько дефектов каждого типа присутствует в наборе результатов, например, сколько неинициализированных переменных или объявления не сочетается.

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

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

Тип результата в виде вектора символов.

ЗаписьЗначение
'defects'Ошибки или дефекты.
'misraC'Правила MISRA C®:2004.
'misraCAGC'MISRA C:2004 управляет для сгенерированного кода.
'misraCPP'Правила MISRA® C ++.
'misraC2012'Правила MISRA C:2012.
'jsf'Правила JSF® C ++.
'metrics'Метрики сложности кода.
'customRules'Пользовательские правила, осуществляющие соглашения о присвоении имен для идентификаторов.

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

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

Распределение дефектов дефектным типом в виде таблицы. Например, извлечение таблицы выглядит так:

КатегорияДефектУдарОбщее количество
ПараллелизмГонка данныхВысоко2
ПараллелизмМертвая блокировкаВысоко 1
Поток данныхНеинициализированная переменнаяВысоко 2

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

Для получения дополнительной информации о таблицах MATLAB® см. Таблицы (MATLAB).

Примеры

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

В этом примере показано, как считать результаты анализа Средства поиска Ошибки из 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 = resObj.getSummary('defects');
resTable = resObj.getResults();

Запустите анализ 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
bfSummary = proj.Results.getSummary('defects');

Введенный в R2017a