Выберите Between Component-Based и Integration Analysis of AUTOSAR Code with Polyspace

Polyspace поддерживает два подхода для проверки кода AUTOSAR: компонентно-ориентированный анализ анализа и интегрирования.

Определения

Короче говоря компонентно-ориентированный анализ требует технических требований проекта компонентов программного обеспечения AUTOSAR и извлекает всю запрошенную информацию из этих технических требований, в то время как анализ интегрирования не требует этих технических требований.

  • В компонентно-ориентированном аналитическом подходе вы предоставляете свои технические требования проекта AUTOSAR в формате ARXML. Анализ читает эти технические требования, создает отдельный модуль кода С для каждого компонента программного обеспечения, и затем проверяет каждый модуль на ошибки времени выполнения и несоответствие с техническими требованиями проекта.

    Для обзора этого подхода смотрите Преимущества Polyspace для AUTOSAR. Для получения информации о том, как настроить компонентно-ориентированный анализ, смотрите Polyspace Запуска на Коде AUTOSAR.

  • В аналитическом подходе интегрирования вы не предоставляете технические требования проекта, но просто запускаете Bug Finder или Программу автоматического доказательства Кода на одном проекте со всем соответствующим исходным кодом. Чтобы сделать анализ AUTOSAR-aware, используйте значение autosar для опции анализа Libraries used (-library).

Сходства и различия

И компонентно-ориентированное и анализ интегрирования придерживаются стандарта AUTOSAR. Кроме того, компонентно-ориентированный анализ также использует технические требования проекта вашего проекта AUTOSAR.

Общие черты

В обеих формах анализа функции от слоя AUTOSAR Runtime Environment или RTE заменяются точными тупиками. Эти тупики позволяют:

  • Более быстрый и более точный анализ, поскольку анализ не пытается проверять реализацию функций RTE. Вместо этого анализ эмулирует функции RTE на основе стандарта AUTOSAR. (Проверка реализаций функции не необходима для проверки функционального использования и может привести к потере точности.)

  • Проверки на этапе выполнения на аргументах функции, которые ищут нарушения стандарта AUTOSAR.

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

    Оба проверки Non-compliance with AUTOSAR specification (анализ интегрирования) и Invalid use of AUTOSAR runtime environment function (компонентно-ориентированный анализ), ищут нарушения стандарта AUTOSAR.

Различия

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

  • Автоматическое разделение кода в модули на основе технических требований компонента программного обеспечения.

  • Автоматическая идентификация AUTOSAR runnables в каждом модуле (точки входа) и проверки на этапе выполнения на этих runnables. См. также Invalid result of AUTOSAR runnable implementation.

  • Дополнительные проверки на аргументах функции RTE, чтобы определить, нарушают ли они ограничения данных из технических требований проекта. Эти проверки могут быть более точными, чем проверки на этапе выполнения на основе стандарта AUTOSAR, поскольку они используют более узкие ограничения данных на определенные типы данных из технических требований проекта. См. также Invalid use of AUTOSAR runtime environment function.

Выбор между компонентно-ориентированным и анализом интегрирования

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

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

  • Компонентно-ориентированный анализ запускается в трех фазах: парсинг ARXML, экстракция кода, и наконец статическая верификация кода. Ошибки в каждой фазе могут распространить к далее нисходящим проблемам. Чтобы работать вокруг ошибок, вы можете потребовать детального знания своего проекта AUTOSAR. Например, вам придется исключить артефакты, такие как оставшиеся файлы шаблона из генераторов кода.

    Только Программа автоматического доказательства Кода поддерживает компонентно-ориентированный анализ.

  • Анализ интегрирования работает только с предоставленным кодом и более прост настроить. Необходимо запустить только регулярный анализ с одной дополнительной опцией, позволенной сделать анализ AUTOSAR-aware.

    И Bug Finder и Программа автоматического доказательства Кода поддерживают анализ интегрирования с теми же проверками. Bug Finder является менее исчерпывающим, чем Программа автоматического доказательства Кода и может показать меньше результатов для этих проверок.

Похожие темы