Чтобы анализировать реализацию кода компонентов программного обеспечения 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 с:
В текущем состоянии 2 поведения AUTOSAR обрабатываются, 2 с извлеченным кодом реализации и 2 с результатом программы автоматического доказательства сгенерированного кода. |
Сообщение показывает, сколько компонентов программного обеспечения было обнаружено в спецификациях ARXML, нашло в реализации кода и анализировало успешно с Программой автоматического доказательства Кода.
Если вы создаете проект в пользовательском интерфейсе Polyspace, анализ выполняется позже. Состояние проекта только показывает первые четыре шага.
Если ошибка происходит в парсинге AUTOSAR XML, состояние проекта может выглядеть так.
Состояние проекта Проект отмечен созданный в среду 31 декабря 1969 19:25:14 GMT-0500 (Восточное стандартное время) после завершения следующей последовательности состояний в 0,58 с:
Выполнение останавливается с В текущем состоянии 0 поведений AUTOSAR обрабатываются, 0 с извлеченным кодом реализации и 0 с результатом программы автоматического доказательства сгенерированного кода. |
Вышеупомянутое сообщение показывает, что ошибка произошла при парсинге AUTOSAR XML.
Чтобы диагностировать далее, кликните по значку на верхнем левом углу. На левой панели нажмите Behaviors. Обычно вы видите список всех компонентов программного обеспечения, внутренние поведения которых извлечены. Если никакие компоненты программного обеспечения не читаются из-за ошибок в ARXML, сообщение как это может появиться.
Поведения с модулем - доказывают среду Состояние после последнего выполнения команды: Идентифицированные ошибки, таким образом: См. подробные логарифмические сообщения. |
Щелкните по ссылке detailed log messages. Вы видите точное местоположение ошибки в XML.
Если при запуске polyspace-autosar
в командной строке, можно запустить только фазу парсинга AUTOSAR XML. Зафиксируйте все ошибки в своем AUTOSAR XML сначала перед продолжающейся остальной частью анализа.
Используйте опции -do-not-update-extract-code
и -do-not-update-verification
.
Если ошибка компиляции найдена в исходных файлах, состояние проекта может выглядеть так.
Состояние проекта Проект отмечен созданный в субботу 23 декабря 2017 19:37:53 GMT-0500 (Восточное стандартное время) после завершения следующей последовательности состояний в 38,25 с:
Выполнение останавливается с В текущем состоянии 2 поведения AUTOSAR обрабатываются, 2 с извлеченным кодом реализации и 2 с результатом программы автоматического доказательства сгенерированного кода. |
Вышеупомянутое сообщение показывает, что ошибка произошла при извлечении кода.
Чтобы диагностировать далее, кликните по значку на верхнем левом углу. На левой панели нажмите Behaviors. Вы видите список всех компонентов программного обеспечения, внутренние поведения которых извлечены.
Чтобы перейти к компонентам, которые имеют ошибки, ищите строку error_atLeastOneRunnableInFileThatDoesNotCompile
. Также, чтобы видеть только компоненты программного обеспечения с ошибками компиляции, нажмите Create/Edit Query на левой панели. Кликните и отмените выбор фильтра has success и затем нажмите Search.
Компонент программного обеспечения с ошибками компиляции выглядит так.
ApplicationComponentBehavior - jyb.tst002.swc001.bhv001 ... ... Извлеченный код реализации Состояние после последнего выполнения команды: обновленный. Экстракция реализации завершается с ▼ извлеченные runnables файлы реализации |
Идентифицируйте, какие компоненты программного обеспечения имеют ошибку. Чтобы видеть определенное сообщение об ошибке, кликните по стрелке Extracted runnables implementation-files. Вы видите ссылку на файл .log
, содержащий сообщение об ошибке.
▼ извлеченные runnables файлы реализации Файл../code/swc001.c извлечен, но его коду не удается скомпилировать с 1 ошибкой (см. сообщения компиляции кода в: .extract/swc001.log). Это реализует все или часть 3 runnables. |
Щелкните по ссылке к файлу .log
. Вы видите ошибку наряду с номером документа и номером строки.
Если один или несколько файлов не компилируют, можно все еще видеть результаты анализа для компонентов программного обеспечения, куда все файлы передали компиляцию. Таким образом можно анализировать определенные компоненты программного обеспечения, в то время как разработка все еще происходит на других.
Если при запуске polyspace-autosar
в командной строке, можно запустить только фазу экстракции кода. Зафиксируйте все ошибки в своем коде сначала прежде, чем продолжить анализ.
Используйте опции -do-not-update-autosar-prove-environment
и -do-not-update-verification
.