exponenta event banner

Устранение неполадок при анализе пространства кода AUTOSAR

В этом разделе описывается компонентный подход к проверке кода AUTOSAR с помощью Polyspace. Подход к интеграционному анализу см. в разделе Выбор между компонентным и интеграционным анализом кода AUTOSAR с Polyspace.

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

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

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

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

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

Статус проекта

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

  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.

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

  • Проверьте наличие ошибок на этапе анализа ARXML и извлечения кода.

  • См. дополнительные сведения об ошибках и предупреждениях.

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

Учебное пособие по фильтрации поведения только с ошибками и интерпретации ошибок и предупреждений см. в разделе Интерпретация ошибок и предупреждений в полипространственном анализе кода AUTOSAR.

Совет

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

Использовать опции -do-not-update-extract-code и -do-not-update-verification.

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

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

Статус проекта

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

  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 с сгенерированным результатом проверки кода.

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

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

Для перехода к компонентам с ошибками выполните поиск строки error_atLeastOneRunnableInFileThatDoesNotCompile. Кроме того, чтобы просмотреть только программные компоненты с ошибками компиляции, щелкните Создать/изменить запрос (Create/Edit Query) на левой панели. Щелкните и отмените выбор фильтра успеха, а затем нажмите кнопку Поиск.

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

StartComponentBehavior - jyb.tst002.swc001.bhv001

...

...

Извлечь код внедрения

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

Извлечение реализации завершается состоянием error_atLeastOneRunnableInFileThatDoesNotCompile.

Найдена реализация для 3 из 3 требуемых прогонов; извлечение 4 файлов из каталога code-source.

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

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

Совет

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

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

    Использовать опции -do-not-update-autosar-prove-environment и -do-not-update-verification.

См. также

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