Безотносительно вашей роли в рабочем процессе разработки программного обеспечения AUTOSAR, вы можете извлечь пользу из использования статического инструмента анализа кода, такого как Polyspace®.
Polyspace поддерживает два подхода для проверки кода AUTOSAR:
Компонентный анализ
В этом подходе вы предоставляете свои спецификации проект в формате ARXML. Анализ читает эти спецификации, создает отдельный модуль кода С для каждого программного компонента, а затем проверяет каждый модуль на ошибки времени выполнения и несоответствие спецификациям проекта.
Обзор этого подхода см. в разделе Преимущества Polyspace для AUTOSAR.
Интеграционный анализ
В этом подходе вы не предоставляете спецификации проекта, а просто запускаете Code Prover на одном проекте со всем соответствующим исходным кодом. Чтобы сделать анализ AUTOSAR-осведомленным, используйте значение autosar
для опции анализа Libraries used (-library)
.
См. также раздел «Выбор между основанным на компонентах и интеграционным анализом кода AUTOSAR с Polyspace».
Эта проверка поддерживается только в компонентном анализе.
Предположим, что вы являетесь частью OEM, задающей структуру и поведение во время выполнения компонентов программного обеспечения на слое, включая типы данных, события и исполняемые файлы. Необходимо проверить, соответствуют ли ваши спецификации поставщики уровня 1, обеспечивающие реализацию кода компонентов программного обеспечения.
Проверьте реализацию кода каждого программного компонента по отдельности или см. обзор результатов для всех реализаций программного компонента. Для просмотра обзора:
Запустите Polyspace для всех программных компонентов и загрузите все результаты в Polyspace Metrics.
В результатах смотрите, если:
Все выполняемые функции реализованы. Проверьте, показывает ли AUTOSAR runnable not implemented checker какой-либо результат.
Все реализации runnables соответствуют ограничениям данных в спецификациях. Проверьте, показывает ли Invalid result of AUTOSAR runnable implementation checker какой-либо результат.
Аргументы в Rte_
функции следуют ограничениям данных в спецификациях. Проверьте, показывает ли Invalid use of AUTOSAR runtime environment function checker какой-либо результат.
Существуют и другие возможности ошибок времени выполнения.
Чтобы начать проверку реализации кода программных компонентов на соответствие спецификациям ARXML:
Укажите местоположения папок ARXML и кода. Запустите Polyspace, чтобы проверить реализацию кода всех программных компонентов на соответствие спецификациям ARXML.
При запуске верификации на удаленном сервере можно указать, что все результаты должны быть загружены в Polyspace Metrics после верификации. В противном случае их можно загрузить позже.
См. раздел «Запуск Polyspace для кода AUTOSAR».
Загрузите все результаты в Polyspace Metrics. При загрузке убедитесь, что вы используете одно и то же имя проекта и номер версии для всех результатов.
Смотрите Сгенерировать метрики качества кода.
В Polyspace Metrics щелкните имя проекта и смотрите сводные данные результатов.
Смотрите View Code Quality Metrics.
Также можно запросить отчеты анализа кода у поставщиков. Отчеты создаются индивидуально для каждого программного компонента. Для начала смотрите Сгенерировать отчеты.
Эта проверка поддерживается только в компонентном анализе.
Предположим, что вы являетесь частью OEM-производителя и хотите добавить или отредактировать спецификации, предоставляемые поставщику уровня 1. Перед внесением правок необходимо проверить их потенциальное влияние на существующую реализацию кода.
Проверьте реализацию кода программных компонентов, которые, вероятно, будут затронуты. Сравните результаты анализа Code Prover, которые используют измененные спецификации с результатами, которые используют исходные спецификации.
Чтобы начать сравнение результатов верификации для программного компонента:
Запустите Polyspace, используя исходные спецификации.
См. раздел «Запуск Polyspace для кода AUTOSAR».
Загрузите результат для программного компонента в Polyspace Metrics.
Смотрите Сгенерировать метрики качества кода.
Перезапустите Polyspace с помощью обновленных спецификаций.
Загрузите новый результат в Polyspace Metrics. Используйте то же имя проекта, но другой номер версии при выгрузке результата.
Проверьте, есть ли увеличение в количестве красных, серых или оранжевых чеков.
Проверка на ошибки времени выполнения поддерживается как в компонентном анализе, так и в интеграционном анализе. Проверка на несоответствие спецификациям проекта поддерживается только в компонентном анализе.
Предположим, что вы являетесь частью поставщика уровня 1, обеспечивающего реализацию кода компонентов программного обеспечения на основе спецификаций OEM-производителя. Необходимо проверить наличие ошибок времени выполнения, таких как переполнение и деление на нули или нарушения ограничений данных в спецификациях ARXML.
Проверяйте программные компоненты, которые вы реализовали. Используйте расширенную опцию -autosar-behavior
для проверки конкретных компонентов программного обеспечения.
Чтобы начать:
Запустите Polyspace для реализации кода ваших компонентов программного обеспечения.
Если вы обновляете реализацию программного компонента, можно продолжать использовать тот же проект для повторного анализа кода. Более поздний анализ рассматривает только программные компоненты, реализация которых изменилась со времени предыдущего анализа.
См. раздел «Запуск Polyspace для кода AUTOSAR».
Эта проверка поддерживается только в компонентном анализе.
Предположим, что вы являетесь частью поставщика уровня 1, реализующего спецификации от OEM. Вы получаете некоторые обновления спецификаций. Если вы запускали Polyspace, чтобы сравнить код со спецификациями, можно быстро проверить, не вносят ли изменения спецификации какие-либо ошибки.
В этом случае вы уже будете настраивать свой проект, возможно, с дополнительными опциями для эмуляции компилятора. Можно повторно использовать эти опции при создании нового проекта из новых спецификаций ARXML.