exponenta event banner

Сравнение показателей с целевыми показателями качества программного обеспечения

Примечание

В этом разделе описывается рабочий процесс в веб-интерфейсе Polyspace Metrics.

Для упрощения совместной работы используйте Polyspace ® Code Prover™ Access™. В дополнение к более интуитивно понятной веб-панели управления, с помощью Polyspace Access можно:

  • Просмотр и обоснование результатов непосредственно из веб-браузера.

  • Интеграция инструмента отслеживания дефектов, такого как Jira, с веб-интерфейсом и создание билетов для отслеживания результатов Polyspace.

  • Обмен результатами анализа с помощью веб-ссылок.

Дополнительные сведения см. в документации по доступу к программе проверки кода Polyspace.

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

Чтобы сосредоточиться на обзоре, можно:

  1. Определите цели качества, которым должны соответствовать вы или разработчики в вашей организации.

  2. Примените цели качества к результатам проверки.

  3. Рассматривать только те результаты, которые не отвечают этим целям.

Применение предопределенных целей к метрикам

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

  1. Откройте интерфейс «Параметры Polyspace». Просмотрите метрики для проекта или прогона на вкладке Сводка.

    Дополнительные сведения см. в разделе Просмотр показателей качества кода.

  2. В списке «Цели качества» в левом верхнем углу выберите ON.

    • Появится новая группа столбцов Цели качества программного обеспечения.

    • В столбце Общее состояние (Overall Status) - последний используемый уровень цели качества для создания статуса PASS или FAIL для результатов.

    • В столбце Уровень (Level) можно увидеть целевой уровень качества.

      Чтобы изменить целевой уровень качества, в этом столбце выберите ячейку. В раскрывающемся списке выберите уровень качества. Дополнительные сведения см. в разделе Цели качества программного обеспечения.

  3. Для файлов с общим состоянием FAIL, чтобы увидеть причины сбоя, просмотрите записи в других столбцах «Цели качества программного обеспечения». Записи, вызывающие сбой, отмечены красным цветом.

    Если значок отображается рядом с состоянием, это означает, что Polyspace не имеет достаточной информации для вычисления состояния. Например, если указан уровень SQO-1, но не проверять нарушения правил кодирования в проекте, Polyspace не может определить, удовлетворяет ли проект всем целям, указанным в SQO-1.

  4. Просмотрите дополнительные сведения о записях, отмеченных красным цветом на вкладке Сводка. Например, если запись в столбце Code Metrics over Threshold отмечена красным цветом, выберите ее. Значения показателей сложности кода можно просмотреть на вкладке «Показатели кода».

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

    СчетДействие
    Метрики кода

    Обратите внимание на записи красного цвета. Выберите каждую запись, чтобы загрузить нарушение порога метрики кода в интерфейс пользователя Polyspace. Просмотрите нарушения и устраните или обосновайте их. Если вы обосновываете нарушение, вы можете загрузить свои обоснования на веб-панель мониторинга Polyspace Metrics. После выравнивания красная запись отображается зеленым цветом со значком рядом с ней.

    Правила кодирования

    В столбце «Выровненные» обратите внимание на записи красного цвета. Выберите каждую запись для загрузки нарушения правил кодирования в интерфейс пользователя Polyspace. Просмотрите нарушение и исправьте или обосновайте его. Если вы обосновываете нарушение, вы можете загрузить свои обоснования на веб-панель мониторинга Polyspace Metrics. После выравнивания красная запись отображается зеленым цветом в столбце «Выровнено».

    Проверки времени выполнения

    В столбцах «Выровненные» обратите внимание на записи красного цвета. Выберите каждую запись для загрузки чеков в интерфейс пользователя Polyspace. Просмотрите проверки и исправьте или выровняйте их. При обосновании проверки можно загрузить обоснования на веб-панель мониторинга Полиспейс Метрикс. После выравнивания красная запись отображается зеленым цветом в столбце «Выровнено».

    Дополнительные сведения о процессе проверки см. в разделе Проверка метрик для конкретного проекта или выполнения.

  6. После просмотра в интерфейсе «Метрики Polyspace» щелкните значок, чтобы просмотреть обновленные метрики. Проверьте, имеет ли ваш проект общий статус PASS из-за ваших обоснований.

    При изменении кода для обновления показателей повторно запустите проверку и загрузите результаты в репозиторий показателей Polyspace. Если в предыдущих результатах имеются обоснования, импортируйте их в новые результаты перед загрузкой новых результатов в репозиторий. Для начала выберите «Сервис» > «Импорт комментариев».

Совет

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

Чтобы создать новый модуль, нажмите клавишу CTRL и выберите строки, содержащие файлы, которые требуется сгруппировать. Щелкните правой кнопкой мыши на выделенном фрагменте. и выберите Добавить в модуль. В столбце Уровень для этого модуля выберите цель качества из раскрывающегося списка. Программное обеспечение применяет эту цель ко всем файлам в модуле и определяет общее состояние PASS или FAIL модуля.

Настройка целей качества программного обеспечения

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

  1. Сохраните следующее содержимое в XML-файле. Назовите файл Custom-SQO-Definitions.xml.

    <?xml version="1.0" encoding="UTF-8"?>
    <MetricsDefinitions>
       
        <SQO ID="Custom-SQO-Level" ApplicableProduct="Code Prover" 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_Red>0</Num_Unjustified_Red>
            <Num_Unjustified_NT_Constructs>0</Num_Unjustified_NT_Constructs>
            <Num_Unjustified_Gray>0</Num_Unjustified_Gray>
            <Percentage_Proven_Or_Justified>Custom_Runtime_Checks_Set</Percentage_Proven_Or_Justified>
        </SQO>
    
        <CodingRulesSet ID="Custom_MISRA_Rules_Set">
            <Rule Name="MISRA_C_5_2">0</Rule>
            <Rule Name="MISRA_C_17_6">0</Rule>
        </CodingRulesSet>
    
        <RuntimeChecksSet ID="Custom_Runtime_Checks_Set">
            <Check Name="OBAI">80</Check>
            <Check Name="IDP">60</Check>
        </RuntimeChecksSet>
    
    </MetricsDefinitions>
    

    Этот файл можно использовать как для поиска ошибок, так и для проверки кода. Сведения о XML-элементах, относящихся к Bug Finder, см. в разделе Сравнение показателей с целями качества программного обеспечения.

  2. Сохраните этот XML-файл в папке, в которой хранятся данные удаленного анализа, например: C:\Users\JohnDoe\AppData\Roaming\Polyspace_RLDatas.

    Чтобы изменить расположение папки, выберите Метрики > Метрики и параметры удаленного сервера.

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

    1. Чтобы сделать уровень качества Custom-SQO-Level применимо к определенному проекту, замените значение ApplicableProject с именем проекта.

      Если необходимо, чтобы цели качества применялись ко всем проектам, используйте ApplicableProject="".

    2. Для указания правил кодирования начните имя правила с соответствующей строки, за которой следует номер правила. Использовать _ вместо десятичной запятой в номере правила. Чтобы указать директивы, начните указывать номер директивы с D_, например, MISRA_C3_D4_6, для директивы MISRA C ®: 2012 4.6.

      ПравилоПоследовательностьНомера правил
      MISRA C: 2004MISRA_C_Правила кодирования MISRA C:2004 и MISRA AC AGC
      MISRA C: 2012MISRA_C3_MISRA C:2012 Директивы и правила
      MISRA ® C++MISRA_Cpp_Правила MISRA C++: 2008
      JSF ® C++JSF_Cpp_Правила кодирования AV C++ JSF
      Пользовательские правила кодированияCustom_Пользовательские правила кодирования
    3. Для указания чеков используйте соответствующий акроним чеков. Дополнительные сведения см. в разделе Краткие имена проверок времени выполнения средства проверки кода.

    4. Для указания метрик кода используйте акроним метрики кода. См. раздел Краткие имена показателей сложности кода.

  4. После внесения изменений в интерфейсе «Метрики Polyspace» откройте метрики для проекта. В списке «Цели качества» в левом верхнем углу выберите ON.

  5. На вкладке Сводка выберите запись в столбце Уровень. Для указанного имени проекта в раскрывающемся списке появится новая цель качества Custom-SQO-Level.

  6. Выберите новую цель качества.

    Программа сравнивает указанные пороговые значения с результатами и обновляет столбец Общее состояние с помощью команд PASS или FAIL.

  7. Чтобы определить другой набор пользовательских целей качества, добавьте следующее содержимое в Custom-SQO-Definitions.xml файл:

    <SQO ID="Custom-SQO-Level_2" ParentID="Custom-SQO-Level" ApplicableProduct="Code Prover" ApplicableProject="My_Project">
     ...
    </SQO>
    Здесь:

    • ID представляет имя нового аппарата.

      Нельзя иметь одинаковые значения ID и ApplicableProject для двух различных наборов целей качества. Например, при использовании ID значение Custom-SQO-Level для двух различных аппаратов и ApplicableProject значение My_Project для одного аппарата и My_Project или "" для другой, вы видите следующую ошибку:

      The SQO level 'Custom-SQO-Level' is multiply defined.

    • ParentID указывает другой уровень, от которого текущий уровень наследует цели качества. В предыдущем примере уровень Custom-SQO-Level_2 наследует цели качества от уровня Custom-SQO-Level.

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

    • ... представляет дополнительные пороговые значения качества, указанные для уровня Custom-SQO-Level_2.

      Заданные пороговые значения качества переопределяют пороговые значения, Custom-SQO-Level_2 наследует от Custom-SQO-Level. Например, если указать <goto>1</goto>, это переопределяет пороговую спецификацию <goto>0</goto> из Custom-SQO-Level.

Связанные темы