Переместите рабочие процессы Code Prover для проверки стандартов кодирования и метрик кода к Bug Finder

В предыдущих релизах, Polyspace® Code Prover поддержал проверку внешних стандартов кодирования и расчет метрик сложности кода. Например, вы можете использовать Code Prover для:

  • Проверьте соответствие внешним стандартам кодирования, таким как MISRA C:2012 или MISRA C ++:2008.

  • Проверьте соответствие соглашениям о присвоении имен.

  • Проверьте соответствие стандартам сложности кода.

  • Вычислите метрики кода.

Поддержка предыдущих возможностей будет удалена из Code Prover в будущем релизе. Начиная в R2021b, Polyspace Bug Finder является рекомендуемым инструментом для выполнения этих задач. Измените свои рабочие процессы, чтобы мигрировать от использования Code Prover к использованию Bug Finder.

Изменения в рабочем процессе

Чтобы мигрировать от Code Prover до Bug Finder, вашему рабочему процессу могут быть нужны некоторые изменения.

Проверяйте на кодирование нарушений правила и вычислите метрики кода

Ранее, чтобы выполнять эту задачу, вы сконфигурировали подходящие варианты в панели Configuration, и затем нажали Run Code Prover. Мигрировать на использование Bug Finder:

  • В пользовательском интерфейсе Polyspace сконфигурируйте те же опции в панели Configuration, и затем нажмите Run Bug Finder.

  • В командной строке замените polyspace-code-prover polyspace-bug-finder. Если вы не хотите включать дефекты Bug Finder, задайте -checkers со значением none. Например, замените эту команду:

    polyspace-code-prover -sources file_name -misra3 all -code-metrics 
    с этой командой:
    polyspace-bug-finder -sources file_name -misra3 all -code-metrics -checkers none

Polyspace Bug Finder проверяет некоторые правила кодирования по-другому по сравнению с Code Prover. После миграции на Bug Finder вы можете видеть некоторую небольшую разницу в номере и местоположении кодирования нарушений правила.

Вычислите метрики кода, проверяйте на ошибки времени выполнения и кодирующий нарушения правила

Ранее, чтобы выполнять эти задачи, вы сконфигурировали подходящие варианты в панели Configuration, и затем нажали Run Code Prover. Мигрировать на использование Bug Finder:

  • В пользовательском интерфейсе Polyspace сконфигурируйте те же опции в панели Configuration. Затем получите эти результаты путем выполнения двух отдельных исследований Polyspace. Запустите анализ Bug Finder, чтобы проверять на кодирование нарушений правила и вычислить метрики кода. Запустите отдельную верификацию Code Prover, чтобы проверять на ошибки времени выполнения.

  • В командной строке запуск разделяет Bug Finder и исследования Code Prover при помощи команд polyspace-bug-finder и polyspace-code-prover с соответствующими опциями анализа. Например, замените эту команду:

    polyspace-code-prover -sources file_name -misra3 all -code-metrics
    с этой командой:
    polyspace-bug-finder -sources file_name -code-metrics -misra3 all -checkers none
    polyspace-code-prover -sources file_name

Вычислите метрики кода, проверяйте на ошибки времени выполнения и кодирующий нарушения правила в сгенерированном коде

Ранее, чтобы выполнять эти задачи, вы сконфигурировали свой анализ Polyspace, и затем запустили верификацию Code Prover. Мигрировать на использование Bug Finder:

  • На Simulink® панель инструментов, используйте те же настройки, которые вы использовали прежде. Затем запуск разделяют исследования Code Prover и Bug Finder.

  • В MATLAB® Командное окно, используйте отдельные наборы polyspace.ModelLinkOptions и polyspace.Project объекты выполнить отдельного Bug Finder и исследования Code Prover.

 Демонстрационный код MATLAB

Представьте отчет Polyspace, содержащий ошибки времени выполнения, кодируя нарушения правила и метрики кода

Ранее вы конфигурировали верификацию Code Prover, чтобы представить один отчет, содержащий ошибки времени выполнения, метрики кода, кодируя нарушения правила и другие результаты. Чтобы мигрировать на использование Bug Finder, сконфигурируйте те же опции, и запуск разделяют исследования Code Prover и Bug Finder. Смотрите Вычисляют Метрики Кода, Проверку на Ошибки времени выполнения и Кодирующий Нарушения Правила.

Bug Finder и результаты Code Prover получены в итоге в разделенных отчетах.

Чтобы представить объединенный отчет, содержащий Bug Finder и результаты Code Prover, используйте polyspace-report-generator. Например, если ваш Bug Finder и результаты Code Prover сохранены в папках BF_results и CP_results, используйте эту команду в командной строке:

polyspace-report-generator ^
-template %template_path% ^
-results-dir "CP_Results","BF_Results"

 Демонстрационный сценарий пакетной обработки

Проверяйте на защищенные и незащищенные разделяемые глобальные переменные

Ранее, чтобы выполнять эту задачу, вы задали функции точки входа и временно исключительные функции в вашем коде, и затем вычислили метрики кода при помощи Code Prover. Рекомендуемый инструмент для выполнения этой задачи должен использовать регистрации глобальной переменной Code Prover вместо этого.

  • В пользовательском интерфейсе Polyspace сконфигурируйте те же опции, которые вы сделали прежде, и затем нажимаете Run Code Prover. Вы не должны проверять Calculate Code Metrics.

  • В командной строке запустите верификацию Code Prover при помощи тех же опций анализа, которые вы использовали прежде. Не используйте -code-metrics.

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

Смотрите глобальные переменные.

Похожие темы