Примечание
В этом разделе описывается рабочий процесс в веб-интерфейсе Polyspace Metrics.
Для упрощения совместной работы используйте приложение Polyspace ® Bug Finder™ Access™. В дополнение к более интуитивно понятной веб-панели управления, с помощью Polyspace Access можно:
Просмотр и обоснование результатов непосредственно из веб-браузера.
Интеграция инструмента отслеживания дефектов, такого как Jira, с веб-интерфейсом и создание билетов для отслеживания результатов Polyspace.
Обмен результатами анализа с помощью веб-ссылок.
Дополнительные сведения см. в документации Polyspace Bug Finder Access.
После создания и просмотра метрик на основе результатов анализа можно просмотреть результаты более подробно.
Чтобы сосредоточиться на обзоре, можно:
Определите цели качества, которым должны соответствовать вы или разработчики в вашей организации.
Примените цели качества к результатам анализа.
Рассматривать только те результаты, которые не отвечают этим целям.
По умолчанию целевые показатели качества программного обеспечения отключены. для применения целевых показателей качества:
В интерфейсе «Метрики Polyspace» откройте страницу метрик для проекта.
В списке «Цели качества» в левом верхнем углу выберите ON.
Появится новая группа столбцов Цели качества программного обеспечения.
В столбце Общее состояние (Overall Status) отображается последний используемый целевой уровень качества для создания статуса PASS или FAIL для результатов.
В столбце Уровень (Level) отображается целевой уровень качества.
Чтобы изменить целевой уровень качества, в этом столбце выберите ячейку. В раскрывающемся списке выберите уровень качества. Дополнительные сведения см. в разделе Целевые уровни качества поиска ошибок.
Для файлов с общим состоянием FAIL, чтобы увидеть причины сбоя, просмотрите записи в других столбцах «Цели качества программного обеспечения». Отказавшие уровни отмечены красным цветом.
Если
значок отображается рядом со статусом, это означает, что у Polyspace недостаточно информации для вычисления статуса. Например, если указать BF-QO-1, некоторые правила кодирования должны быть пересмотрены. Но если не проверить правила кодирования во время анализа, Polyspace не сможет определить, удовлетворяет ли проект целям правил кодирования, указанным в BF-QO-1.
Чтобы проверить несоответствующие цели качества, выберите записи, отмеченные красным цветом, для получения дополнительной информации.
На вкладке «Метрики кода», «Правила кодирования» или «Поиск ошибок»
Выберите красные столбцы для загрузки результатов.
Просмотрите нарушения и исправьте или обосновайте результаты.
См. раздел Результаты анализа пространства адресов с помощью исправлений ошибок или обоснований.
Загрузите новые обоснования на веб-панель управления Polyspace Metrics.
После просмотра в интерфейсе «Метрики Polyspace» щелкните
значок, чтобы просмотреть обновленные метрики.
При изменении кода для обновления показателей повторно запустите анализ и загрузите результаты в репозиторий показателей Polyspace. Если в предыдущих результатах имеются обоснования, перед загрузкой в репозиторий импортируйте их в новые результаты.
Цели качества поиска ошибок или BF-QO - это набор пороговых значений, по которым можно сравнить результаты анализа поиска ошибок. Эти цели адаптированы из Polyspace Code Prover™ Software Quality Targets (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>
Этот файл можно использовать как для поиска ошибок, так и для проверки кода. Сведения о XML-элементах, относящихся к программе проверки кода, см. в разделе Сравнение метрик с целями качества программного обеспечения (программа проверки кода Polyspace).
Сохраните этот XML-файл в папке, в которой хранятся данные удаленного анализа, например: C:\Users\JohnDoe\AppData\Roaming\Polyspace_RLDatas.
Чтобы изменить расположение папки, выберите Метрики > Метрики и параметры удаленного сервера.
Чтобы сделать уровень качества Custom-BF-QO-Level применимо к определенному проекту, замените значение ApplicableProject с именем проекта.
Если необходимо, чтобы цели качества применялись ко всем проектам, используйте ApplicableProject="".
Измените файл, чтобы указать пороговые значения.
Для указания правил кодирования начните имя правила с соответствующей строки, за которой следует номер правила. Использовать _ вместо десятичной запятой в номере правила. Чтобы указать директивы, начните указывать номер директивы с D_, например, MISRA_C3_D4_6, для директивы MISRA C: 2012 4.6.
| Правило | Последовательность | Номера правил |
|---|---|---|
| MISRA C: 2004 | MISRA_C_ | Правила кодирования MISRA C:2004 и MISRA AC AGC |
| MISRA C: 2012 | MISRA_C3_ | MISRA C:2012 Директивы и правила |
| MISRA C++ | MISRA_Cpp_ | Правила MISRA C++: 2008 |
| JSF ® C++ | JSF_Cpp_ | Правила кодирования AV C++ JSF |
| Пользовательские правила кодирования | Custom_ | Пользовательские правила кодирования |
Для указания дефектов используйте аббревиатуру дефекта. См. Краткие имена чекеров дефектов для поиска ошибок.
Для указания метрик кода используйте акроним метрики кода. См. раздел Краткие имена показателей сложности кода.
После внесения изменений в интерфейсе «Метрики Polyspace» откройте метрики для проекта. В списке «Цели качества» в левом верхнем углу выберите ON.
На вкладке Сводка выберите запись в столбце Уровень. Для указанного имени проекта в раскрывающемся списке появится новая цель качества Custom-BF-QO-Level.
Выберите новую цель качества.
Программа сравнивает указанные пороговые значения с результатами и обновляет столбец Общее состояние с помощью команд 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.
Метрики HIS
| Элемент | Метрика |
|---|---|
comf | Comment Density(Доказательство кода Polyspace) |
path | Number of Paths(Доказательство кода Polyspace) |
goto | Number of Goto Statements(Доказательство кода Polyspace) |
vg | Cyclomatic Complexity(Доказательство кода Polyspace) |
calling | Number of Calling Functions(Доказательство кода Polyspace) |
calls | Number of Called Functions(Доказательство кода Polyspace) |
param | Number of Function Parameters(Доказательство кода Polyspace) |
stmt | Number of Instructions(Доказательство кода Polyspace) |
level | Number of Call Levels(Доказательство кода Polyspace) |
return | Number of Return Statements(Доказательство кода Polyspace) |
vocf | Language Scope(Доказательство кода Polyspace) |
ap_cg_cycle | Number of Recursions(Доказательство кода Polyspace) |
ap_cg_direct_cycle | Number of Direct Recursions(Доказательство кода Polyspace) |
Num_Unjustified_Violations | Количество необоснованных нарушений правил кодирования, указанных записями под элементом CodingRulesSet |
Num_Unjustified_BF_Checks | Количество необоснованных дефектов типов, указанных записями под элементом BugFinderChecksSet |
Показатели, не относящиеся к HIS
| Элемент | Описание метрики |
|---|---|
fco | Estimated Function Coupling(Доказательство кода Polyspace) |
flin | Number of Lines Within Body(Доказательство кода Polyspace) |
fxln | Number of Executable Lines(Доказательство кода Polyspace) |
ncalls | Number of Call Occurrences(Доказательство кода Polyspace) |