Диагностируйте анализ Polyspace кода AUTOSAR

Эта тема описывает компонентно-ориентированный подход к проверке кода AUTOSAR с Polyspace. Для аналитического подхода интегрирования смотрите, Выбирают Between Component-Based и Integration Analysis of AUTOSAR Code with Polyspace.

Чтобы анализировать реализацию кода компонентов программного обеспечения AUTOSAR, Polyspace® анализирует спецификации XML AUTOSAR, обнаруживает соответствующую реализацию кода, компилирует этот код и запускает статический анализ, чтобы обнаружить ошибки времени выполнения или несоответствие между кодом и техническими требованиями. Если ошибка происходит на каком-либо из этих шагов, вы не видите результатов анализа для компонента программного обеспечения, содержащего ошибку. Эта тема показывает, как диагностировать и зафиксировать эти ошибки.

Для звуковых результатов анализа Программа автоматического доказательства Кода требует, чтобы ваш AUTOSAR XML был правильно построен, и ваш код не должен иметь ошибок компиляции. Например, два элемента в вашем AUTOSAR XML не должны иметь того же Универсального Уникального идентификатора (UUID). Вы можете использовать другие инструменты, чтобы гарантировать правильно построенный ARXML и код без ошибок компиляции. В дополнение к тем инструментам можно использовать ошибки во время парсинга AUTOSAR XML и фаз экстракции кода анализа Программы автоматического доказательства Кода, чтобы найти проблемы в XML и коде.

После анализа, открытого файл psar_project.xhtml в веб-браузере. Файл расположен в папке проекта. Проверяйте полное состояние проекта и углубитесь к определенным компонентам программного обеспечения, которые имеют проблемы. Если вы создаете проект в пользовательском интерфейсе Polyspace, вкладка Project Status показывает этот файл HTML после создания проекта.

Просмотрите состояние завершения проекта

Если анализ завершается успешно, вы видите сообщение о состоянии как это.

Состояние проекта

Проект отмечен созданный в субботу 23 декабря 2017 19:37:53 GMT-0500 (Восточное стандартное время) после завершения следующей последовательности состояний в 38,25 с:

  1. project_created вводимый, как создано с no_error в 0,05 с.

  2. project_installed вводимый, как создано с no_error в 0,08 с.

  3. prove_artifacts_created вводимый, как создано с no_error в 1,66 с.

  4. user_code_extracted entered как создано с no_error в 4,29 с.

  5. code_verification_configured вводимый, как создано с no_error в 0,2 с.

  6. code_verification_executed вводимый, как создано с no_error в 31,97 с.

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

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

Если вы создаете проект в пользовательском интерфейсе Polyspace, анализ выполняется позже. Состояние проекта только показывает первые четыре шага.

Просмотрите ошибки в парсинге AUTOSAR XML

Если ошибка происходит в парсинге AUTOSAR XML (и ошибка останавливает полный анализ), состояние проекта может выглядеть так.

Состояние проекта

Проект отмечен созданный в среду 31 декабря 1969 19:25:14 GMT-0500 (Восточное стандартное время) после завершения следующей последовательности состояний в 0,58 с:

  1. project_created вводимый, как создано с no_error в 0,02 с.

  2. project_installed вводимый, как создано с no_error в 0,09 с.

  3. prove_artifacts_created вводимый, как создано с error_in_autosar_prove_artifacts_creation (2 ошибки, 0 предупреждений) в 0,47 с.

Выполнение завершает работу с error_in_autosar_prove_artifacts_creation (2 ошибки, 1 предупреждение), См. логарифмические сообщения выполнения

Вышеупомянутое сообщение показывает, что ошибка произошла при парсинге AUTOSAR XML.

Чтобы диагностировать далее, кликните по значку на верхнем левом углу. На левой панели нажмите Behaviors. Обычно вы видите список всех компонентов программного обеспечения, внутренние поведения которых извлечены. Для каждого поведения вы можете:

  • Смотрите, были ли ошибки во время парсинга ARXML и фазы экстракции кода.

  • Смотрите более подробную информацию ошибок и предупреждений.

    Щелкните по ссылке See key autosar definition for this behavior для ошибок и предупреждений.

Для примера при фильтрации поведений с ошибками только и интерпретацией ошибок и предупреждений, смотрите, Интерпретируют Ошибки и Предупреждения в Анализе Polyspace Кода AUTOSAR.

Совет

Если вы запускаетесь polyspace-autosar в командной строке можно запустить только фазу парсинга AUTOSAR XML. Зафиксируйте все ошибки в своем AUTOSAR XML сначала перед продолжающейся остальной частью анализа.

Используйте опции -do-not-update-extract-code и -do-not-update-verification.

Просмотрите ошибки компиляции в коде

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

Состояние проекта

Проект отмечен созданный в субботу 23 декабря 2017 19:37:53 GMT-0500 (Восточное стандартное время) после завершения следующей последовательности состояний в 38,25 с:

  1. project_created вводимый, как создано с no_error в 0,05 с.

  2. project_installed вводимый, как создано с no_error в 0,08 с.

  3. prove_artifacts_created вводимый, как создано с no_error в 1,66 с.

  4. user_code_extracted entered как создано с error_in_user_code_extraction (4 ошибки, 0 предупреждений) в 4,29 с.

Выполнение завершает работу с error_in_user_code_extraction (4 ошибки, 1 предупреждение), См. логарифмические сообщения выполнения

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

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

Чтобы диагностировать далее, кликните по значку на верхнем левом углу. На левой панели нажмите Behaviors. Вы видите список всех компонентов программного обеспечения, внутренние поведения которых извлечены.

Чтобы перейти к компонентам, которые имеют ошибки, ищите строку error_atLeastOneRunnableInFileThatDoesNotCompile. В качестве альтернативы, чтобы видеть только компоненты программного обеспечения с ошибками компиляции, нажмите Create/Edit Query на левой панели. Кликните и отмените выбор фильтра has success и затем нажмите Search.

Компонент программного обеспечения с ошибками компиляции выглядит так.

ApplicationComponentBehavior - jyb.tst002.swc001.bhv001

...

...

Извлеките код реализации

Выполнение не сообщило ни о какой ошибке или предупреждении.

Экстракция реализации завершается с error_atLeastOneRunnableInFileThatDoesNotCompile состояния.

Найденная реализация для 3 из 3 потребовала runnables; извлечение 4 файлов из директории источника кода.

Идентифицируйте, какие компоненты программного обеспечения имеют ошибку. Чтобы видеть определенное сообщение об ошибке, кликните по линии, которая указывает на количество файлов, извлеченных из исходной директории кода. Щелкните по ссылке Compiler messages, чтобы открыть .log файл, содержащий всю ошибку компиляции, обменивается сообщениями в файлах, извлеченных для выполнимого.

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

Совет

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

  • Если вы запускаетесь polyspace-autosar в командной строке можно запустить только фазу экстракции кода. Зафиксируйте все ошибки в своем коде сначала прежде, чем продолжить анализ.

    Используйте опции -do-not-update-autosar-prove-environment и -do-not-update-verification.

Смотрите также

Похожие темы