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

Примечание

Эта тема описывает рабочий процесс в Метрическом веб-интерфейсе Polyspace.

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

  • Рассмотрите и выровняйте по ширине результаты непосредственно от вашего веб-браузера.

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

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

Для получения дополнительной информации см. документацию Polyspace Code Prover Access.

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

Чтобы фокусировать ваш анализ, вы можете:

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

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

  3. Рассмотрите только те результаты, которым не удается достигнуть тех целей.

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

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

  1. Откройте интерфейс Polyspace Metrics. Просмотрите метрики для проекта или запуска на вкладке Summary.

    Для получения дополнительной информации, Метрики качества вида на море Кода.

  2. Из списка Quality Objectives в верхнем левом углу выберите ON.

    • Появляется новая группа столбцов Software Quality Objectives.

    • В столбце Overall Status, последний используемый качественный уровень цели, который сгенерирует состояние PASS или FAIL для ваших результатов.

    • В столбце Level вы видите качественный уровень цели.

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

  3. Для файлов с Overall Status FAIL, чтобы видеть, что вызывает отказ, просматривают записи в других столбцах Software Quality Objectives. Записи, которые вызывают отказ, отмечены красные.

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

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

  5. Рассмотрите каждую метрику сложности кода, кодируя нарушение правила или ошибку времени выполнения, которая вызвала ваш проект привести качественные цели к сбою. Зафиксируйте свой код или выровняйте по ширине ошибки или нарушения.

    ВкладкаДействие
    Code Metrics

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

    Coding Rules

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

    Run-Time Checks

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

    Для получения дополнительной информации о процессе рассмотрения смотрите Метрики Анализа для Конкретного Проекта или Запуска.

  6. После вашего анализа, в интерфейсе Polyspace Metrics, нажатие кнопки, чтобы просмотреть обновленные метрики. Смотрите, имеет ли ваш проект Overall Status PASS из-за ваших выравниваний.

    Если вы изменяете свой код, чтобы обновить метрики, повторно выполнить вашу верификацию и загрузить результаты на Метрический репозиторий Polyspace. Если вы имеете выравнивания в своих предыдущих результатах, импортируете их к новым результатам прежде, чем загрузить новые результаты на репозиторий. Чтобы начаться, выберите Tools> Import Comments.

Совет

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

Чтобы создать новый модуль, нажмите Ctrl и выберите строки, содержащие файлы, которые вы хотите сгруппировать. Щелкните правой кнопкой по выбору. и выберите Add to Module. В столбце Level для этого модуля выберите свою качественную цель из выпадающего списка. Программное обеспечение применяет эту цель ко всем файлам в модуле и определяет Overall Status 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>
    

    Можно использовать этот файл и для Bug Finder и для результатов Программы автоматического доказательства Кода. Для получения информации об элементах XML, характерных для Bug Finder, смотрите, Сравнивают Метрики С Целями Качества программного обеспечения.

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

    Если вы хотите изменить местоположение папки, выберите Metrics> Metrics and Remote Server Settings.

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

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

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

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

      ПравилоСтрокаУправляйте числами
      MISRA C: 2004MISRA_C_MISRA C:2004 и правила кодирования AGC AC MISRA
      MISRA C: 2012MISRA_C3_Директивы MISRA C:2012 и правила
      MISRA® C ++MISRA_Cpp_MISRA C ++:2008 правил
      JSF® C ++JSF_Cpp_JSF AV правила кодирования C++
      Пользовательские правила кодированияCustom_Пользовательские правила кодирования
    3. Для определения проверок используйте соответствующий акроним проверки. Для получения дополнительной информации смотрите Краткие названия Проверок на этапе выполнения Программы автоматического доказательства Кода.

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

  4. После того, как вы сделаете свои модификации в интерфейсе Polyspace Metrics, откройте метрики для своего проекта. Из списка Quality Objectives в верхнем левом углу выберите ON.

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

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

    Программное обеспечение сравнивает пороги, которые вы задали против своих результатов и обновляете столбец Overall Status с 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.

Похожие темы