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