Примечание
Эта тема описывает рабочий процесс в Метрическом веб-интерфейсе Polyspace.
Для более легких совместных отзывов используйте Polyspace® Bug Finder™ Access™ . В дополнение к более интуитивной веб-инструментальной панели с Polyspace может доступ к вам:
Рассмотрите и выровняйте по ширине результаты непосредственно от вашего веб-браузера.
Интегрируйте отслеживающий дефект инструмент, такой как Jira с веб-интерфейсом и создайте тикеты, чтобы отследить результаты Polyspace.
Совместно используйте результаты анализа с помощью ссылок на сайт.
Для получения дополнительной информации см. документацию Polyspace Bug Finder Access.
После генерации и просмотра метрик от ваших результатов анализа, можно рассмотреть результаты более подробно.
Чтобы фокусировать ваш анализ, вы можете:
Задайте качественные цели, которых вы или разработчики в вашей организации должны достигнуть.
Примените качественные цели к своим результатам анализа.
Рассмотрите только те результаты, которым не удается достигнуть тех целей.
По умолчанию цели качества программного обеспечения выключены. Применять качественные цели:
В интерфейсе Polyspace Metrics откройте метрическую страницу для проекта.
Из списка Quality Objectives в верхнем левом углу выберите ON
.
Появляется новая группа столбцов Software Quality Objectives.
Столбец Overall Status показывает последний используемый качественный уровень цели, чтобы сгенерировать состояние PASS или FAIL для ваших результатов.
Столбец Level показывает качественный уровень цели.
Чтобы изменить ваш качественный уровень цели, в этом столбце, выбирают ячейку. Из выпадающего списка выберите уровень качества. Для получения дополнительной информации смотрите Качественные Уровни Цели Bug Finder.
Для файлов с Overall Status FAIL, чтобы видеть, что вызывает отказ, просматривают записи в других столбцах Software Quality Objectives. Провальные уровни отмечены красные.
Если значок появляется рядом с состоянием, это означает, что Polyspace не имеет достаточной информации, чтобы вычислить состояние. Например, если вы задаете BF-QO-1
, определенные правила кодирования должны быть анализом. Но, если вы не проверяете правила кодирования во время анализа, Polyspace не может определить, удовлетворяет ли ваш проект целям правила кодирования, заданным в BF-QO-1
.
Чтобы исследовать провальные качественные цели, выберите записи отмеченный красный для получения дополнительной информации.
На Code Metrics, Coding Rules или вкладке Bug-Finder,
Выберите красные записи столбца, чтобы загрузить результаты.
Рассмотрите нарушения и зафиксируйте или выровняйте по ширине результаты.
Смотрите результаты Polyspace адреса через исправления ошибок или выравнивания.
Загрузите свои новые выравнивания на Метрическую веб-инструментальную панель Polyspace.
После вашего анализа, в интерфейсе Polyspace Metrics, нажатие кнопки, чтобы просмотреть обновленные метрики.
Если вы изменяете свой код, чтобы обновить метрики, повторно выполнить ваш анализ и загрузить результаты на Метрический репозиторий Polyspace. Если вы имеете выравнивания в своих предыдущих результатах, импортируете их к новым результатам прежде, чем загрузить на репозиторий.
Качественные Цели Bug Finder или BF-QOs являются набором порогов, с которыми можно сравнить результаты анализа Bug Finder. Эти цели адаптируются от Целей Качества программного обеспечения Polyspace Code Prover™ (Polyspace Code Prover). Можно разработать процесс рассмотрения на основе Качественных Целей.
Можно использовать предопределенный уровень BF-QO или задать собственное. Следующее является предопределенными качественными порогами, заданными каждым BF-QO.
Вместо того, чтобы использовать предопределенную цель, можно задать собственные качественные цели и применить их к проекту.
Сохраните следующее содержимое в XML-файле. Назовите файл Custom-SQO-Definitions.xml
.
<?xml version="1.0" encoding="UTF-8"?> <MetricsDefinitions> <SQO ID="Custom-BF-QO-Level" ApplicableProduct="Bug Finder" ApplicableProject="My_Project"> <comf>20</comf> <path>80</path> <goto>0</goto> <vg>10</vg> <calling>5</calling> <calls>7</calls> <param>5</param> <stmt>50</stmt> <level>4</level> <return>1</return> <vocf>4</vocf> <ap_cg_cycle>0</ap_cg_cycle> <ap_cg_direct_cycle>0</ap_cg_direct_cycle> <Num_Unjustified_Violations>Custom_MISRA_Rules_Set</Num_Unjustified_Violations> <Num_Unjustified_BF_Checks>Custom_BF_Checks_Set</Num_Unjustified_BF_Checks> </SQO> <CodingRulesSet ID="Custom_MISRA_Rules_Set"> <Rule Name="MISRA_C_5_2">0</Rule> <Rule Name="MISRA_C_17_6">0</Rule> </CodingRulesSet> <BugFinderChecksSet ID="Custom_BF_Checks_Set"> <Check Name="UNREACHABLE">0</Check> <Check Name="USELESS_IF">0</Check> </BugFinderChecksSet> </MetricsDefinitions>
Можно использовать этот файл и для Bug Finder и для результатов Программы автоматического доказательства Кода. Для получения информации об элементах XML, характерных для Программы автоматического доказательства Кода, смотрите, Сравнивают Метрики С Целями Качества программного обеспечения (Polyspace Code Prover).
Сохраните этот XML-файл в папке, где удаленные аналитические данные хранятся, например, C:\Users\JohnDoe\AppData\Roaming\Polyspace_RLDatas
.
Если вы хотите изменить местоположение папки, выберите Metrics> Metrics and Remote Server Settings.
Сделать уровень качества Custom-BF-QO-Level
применимый к определенному проекту, замените значение ApplicableProject
припишите с названием проекта.
Если вы хотите качественные цели примениться ко всем проектам, используйте ApplicableProject=""
.
Измените файл, чтобы задать ваши пороги.
Для определения правил кодирования начните имя правила с соответствующей строки, сопровождаемой номером правила. Использование
вместо десятичной точки в номере правила. Чтобы задать директивы, начните задавать направляющий номер с D_
, например, MISRA_C3_D4_6
, для MISRA C: 2 012 директив 4.6.
Правило | Строка | Управляйте числами |
---|---|---|
MISRA C: 2004 | MISRA_C_ | MISRA C:2004 и правила кодирования AGC AC MISRA |
MISRA C: 2012 | MISRA_C3_ | Директивы MISRA C:2012 и правила |
MISRA C++ | MISRA_Cpp_ | MISRA C ++:2008 правил |
JSF® C ++ | JSF_Cpp_ | JSF AV правила кодирования C++ |
Пользовательские правила кодирования | Custom_ | Пользовательские правила кодирования |
Для определения дефектов используйте дефектный акроним. Смотрите Краткие названия Средств проверки Дефекта Bug Finder.
Для определения метрик кода используйте метрический акроним кода. Смотрите Краткие названия Метрик сложности кода.
После того, как вы сделаете свои модификации в интерфейсе Polyspace Metrics, откройте метрики для своего проекта. Из списка Quality Objectives в верхнем левом углу выберите ON
.
На вкладке Summary выберите запись в столбце Level. Для названия проекта, которое вы задали, ваша новая качественная цель, Custom-BF-QO-Level появляется в выпадающем списке.
Выберите свою новую качественную цель.
Программное обеспечение сравнивает пороги, которые вы задали против своих результатов и обновляете столбец Overall Status с PASS или FAIL.
Чтобы задать другой набор пользовательских качественных целей, добавьте следующее содержимое в Custom-BF-QO-Definitions.xml
файл:
<SQO ID="Custom-BF-QO-Level_2" ParentID="Custom-BF-QO-Level" ApplicableProduct="Bug Finder" ApplicableProject="My_Project"> ... </SQO>
ID
представляет имя нового набора.
У вас не может быть тех же значений ID
и ApplicableProject
для двух различных наборов качественных целей. Например, если вы используете ID="Custom-BF-QO-Level"
для двух различных пользовательских наборов и ApplicableProject
любой My_Project
или ""
для обоих наборов вы видите следующую ошибку:
The SQO level 'Custom-BF-QO-Level' is multiply defined.
ParentID
задает другой уровень, от которого текущий уровень наследовал свои качественные цели. В предыдущем примере, уровень Custom-BF-QO-Level_2
наследовал его качественные цели от уровня Custom-BF-QO-Level
.
Если вы не хотите наследовать качественные цели от другого уровня, не используйте этот атрибут.
...
представляет дополнительные качественные пороги, что вы задаете для уровня Custom-BF-QO-Level_2
.
Качественные пороги, которые вы задаете, заменяют пороги что Custom-BF-QO-Level_2
наследовался Custom-BF-QO-Level
. Например, если вы задаете <goto>1</goto>
, эта цель заменяет пороговую спецификацию <goto>0</goto>
из Custom-BF-QO-Level
.
Следующие таблицы приводят элементы XML, которые могут быть добавлены к пользовательскому файлу BF-QO. Содержимое каждого элемента задает порог, с которым программное обеспечение сравнивает результаты анализа. Для каждого элемента таблица приводит метрику, к которой применяется порог. Здесь, HIS относится к Hersteller Initiative Software.
Метрики HIS
Элемент | Метрика |
---|---|
comf | Comment Density (Polyspace Code Prover) |
path | Number of Paths (Polyspace Code Prover) |
goto | Number of Goto Statements (Polyspace Code Prover) |
vg | Cyclomatic Complexity (Polyspace Code Prover) |
calling | Number of Calling Functions (Polyspace Code Prover) |
calls | Number of Called Functions (Polyspace Code Prover) |
param | Number of Function Parameters (Polyspace Code Prover) |
stmt | Number of Instructions (Polyspace Code Prover) |
level | Number of Call Levels (Polyspace Code Prover) |
return | Number of Return Statements (Polyspace Code Prover) |
vocf | Language Scope (Polyspace Code Prover) |
ap_cg_cycle | Number of Recursions (Polyspace Code Prover) |
ap_cg_direct_cycle | Number of Direct Recursions (Polyspace Code Prover) |
Num_Unjustified_Violations | Количество невыровненных нарушений кодирования правил, заданных записями под элементом CodingRulesSet |
Num_Unjustified_BF_Checks | Количество невыровненных дефектов типов, заданных записями под элементом BugFinderChecksSet |
Метрики Non-HIS
Элемент | Описание метрики |
---|---|
fco | Estimated Function Coupling (Polyspace Code Prover) |
flin | Number of Lines Within Body (Polyspace Code Prover) |
fxln | Number of Executable Lines (Polyspace Code Prover) |
ncalls | Number of Call Occurrences (Polyspace Code Prover) |