Запустите Polyspace на коде AUTOSAR

Polyspace® для AUTOSAR запускает статический анализ программы реализации кода компонентов программного обеспечения AUTOSAR. Анализ ищет возможные ошибки времени выполнения или несоответствие со спецификациями в AUTOSAR XML (ARXML).

Чтобы запустить Polyspace на реализации кода компонентов программного обеспечения AUTOSAR, предоставьте эту информацию:

  • Папка ARXML: Эта папка содержит весь .arxml файлы, которые задают вашу модель AUTOSAR. Файлы задают типы данных, runnables, события и другую информацию о компонентах программного обеспечения в вашей модели AUTOSAR.

    Обратите внимание на то, что Polyspace может проанализировать XML-схему AUTOSAR только для релизов 3.0 и позже.

  • Папка исходного кода: Эта папка содержит реализацию кода С компонентов программного обеспечения. .c файлы в этой папке содержат функции, реализующие AUTOSAR runnables и другие вызванные функции. Папка может также содержать заголовочные файлы, на которые ссылаются в ваших исходных файлах.

    Если вы ссылаетесь на заголовочные файлы, расположенные в другой папке, можно обеспечить то местоположение отдельно.

Анализ анализирует ваши файлы ARXML, читает ваши исходные файлы и создает проект Polyspace с отдельным модулем для каждого компонента программного обеспечения. Polyspace Code Prover™ затем проверяет каждый модуль на ошибки времени выполнения или нарушения ограничений данных в ARXML во времени выполнения.

Эта тема показывает, как запустить Polyspace на реализации кода компонентов программного обеспечения AUTOSAR. Можно запустить Polyspace от пользовательского интерфейса десктопных решений Polyspace или командной строки:

  • В пользовательском интерфейсе анализ происходит на двух шагах: создание проекта Polyspace от ARXML и папок кода и рабочей Программы автоматического доказательства Кода на проекте.

  • В командной строке анализ может быть сделан в одном выстреле с polyspace-autosar команда.

Чтобы выполнить шаги в этом примере, используйте демонстрационные файлы в polyspaceroot\help\toolbox\codeprover\examples\polyspace_autosar.

Запустите Polyspace в пользовательском интерфейсе

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

Считайте ARXML и источники

Укажите заранее, что проект должен быть создан из спецификаций AUTOSAR.

  1. Выберите File> New. В окне Project-Properties выберите Create from AUTOSAR specification.

  2. Задайте папку верхнего уровня, содержащую ваши файлы ARXML и все папки, содержащие исходные файлы. Нажмите Run.

Программное обеспечение анализирует ваши спецификации ARXML и реализацию кода С и создает проект Polyspace. Каждый модуль в ссылках проекта C файлы, которые реализуют один компонент программного обеспечения. Имя модуля соответствует полностью определенному имени компонента программного обеспечения, как задано в ARXML. Смотрите Преимущества Polyspace для AUTOSAR.

Если программное обеспечение не удается проанализировать ваши спецификации ARXML или сталкивается с проблемами компиляции с вашим кодом, смотрите дополнительные детали во вкладке Command output или Project status. Исследуйте проблему далее и зафиксируйте свои файлы ARXML или код соответственно. Смотрите Анализ Polyspace Поиска и устранения неисправностей Кода AUTOSAR.

В некоторых случаях вам придется обеспечить дополнительные пути, чтобы включать папки или макроопределения, чтобы диагностировать ошибки.

  • Чтобы задать пути, чтобы включать файлы, которые непосредственно не находятся под исходной папкой, используйте поле Specify additional include folders.

    Это поле соответствует опции -I из polyspace-autosar.

  • Чтобы задать определения типов и макроопределения, которые не находятся в ваших исходных файлах, используйте поле Specify additional macro definitions. Задайте файл с определениями.

    Это поле соответствует опции -include из polyspace-autosar.

  • Задавать один из усовершенствованных параметров командной строки, сопоставленных с polyspace-autosar, используйте поле Advanced settings.

    Например:

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

      -extra-project-options "-add-to-results-repository -batch -scheduler localhost"
      Здесь localhost указывает, что тот же компьютер служит сервером и клиентом. Замените его на имя вашего сервера. См. также Run Bug Finder or Code Prover analysis on a remote cluster (-batch) и Upload results to Polyspace Metrics (-add-to-results-repository).

    • Вы можете хотеть задать компилятор и целевую архитектуру. По умолчанию компиляция проектов, созданных из спецификаций AUTOSAR, использует gnu4.7 компилятор и i386 архитектуру.

      Чтобы задать visual11.0 компилятор с x86_64 архитектурой, введите эту опцию:

      -extra-project-options "-compiler visual11.0 -target x86_64"
      См. также Compiler (-compiler) и Target processor type (-target).

Сконфигурируйте проект

Если проект создается, можно изменить некоторые аналитические опции по умолчанию. Например, можно сгенерировать отчет после анализа с помощью опций в разделе Reporting. Для получения дополнительной информации о том, как задать опции, смотрите, Задают Аналитические Опции Polyspace.

Вам не нужны опции в этих разделах для проекта, сгенерированного из описания AUTOSAR:

  • Входные параметры и Блокирование: Внешние ограничения данных в ваших файлах ARXML извлечены автоматически, когда вы создаете проект Polyspace. Вы не можете явным образом задать внешние ограничения.

  • Многозадачность: Вы не можете выполнить многозадачный анализ с проектом Polyspace, потому что каждый модуль анализирует реализацию одного компонента программного обеспечения. Чтобы обнаружить гонки данных, создайте отдельный проект для целого приложения и явным образом добавьте свои исходные папки. Задайте файлы ARXML, важные для многозадачности, и запустите Средство поиска Ошибки. Для получения дополнительной информации смотрите ARXML files selection (-autosar-multitasking).

  • Верификация программы автоматического доказательства кода: main функция сгенерирована (в файле psar_prove_main.c) когда вы создаете проект Polyspace из описания AUTOSAR. main функции вызовов функции, которые реализуют выполнимые сущности в компонентах программного обеспечения. Сгенерированный main необходим для анализа Программы автоматического доказательства Кода. Вы не можете изменить свойства этого main функция.

  • Automatic Orange Tester опции: Вы не можете использовать Автоматический Оранжевый Тестер когда рабочий Polyspace на реализации кода компонентов программного обеспечения AUTOSAR.

Проверьте код

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

Чтобы проверить один модуль, выберите модуль и нажмите Run Code Prover. Чтобы проверить все модули, из выпадающего списка около Run Code Prover, выбирают Run All Modules.

Обновите проект для более поздних изменений

Если вы обновляете свой код или спецификации ARXML, можно повторно анализировать модули. Чтобы начаться, щелкните правой кнопкой по своему проекту и выберите Update AUTOSAR Project. Воссоздайте свой проект и повторно выполните верификацию на модулях.

Если вы изменяете код только для определенных компонентов программного обеспечения, только затронутые модули воссоздаются. Модули, соответствующие другим компонентам программного обеспечения, остаются неизменными.

Дополнительная информация

Смотрите результаты Polyspace анализа на коде AUTOSAR.

Запустите Polyspace Используя скрипты

Запустите polyspace-autosar команда с путями к вашему ARXML и папке исходного кода. Команда анализирует ARXML и исходные файлы, создает проект Polyspace и анализирует все модули в проекте для ошибок времени выполнения или нарушения ограничений данных в ARXML.

На первом показе задайте путь к своему ARXML и исходным файлам явным образом. В более поздних запусках задайте файл psar_project.xhtml созданный в предыдущем запуске. Анализ обнаруживает изменения в ARXML и исходных файлах начиная с последнего запуска и повторно анализирует только те модули где измененная реализация компонента программного обеспечения. Если спецификация ARXML изменилась начиная с предыдущего анализа новый анализ повторно анализирует все модули.

Например, можно запустить эти команды в .bat скрипт. На первом показе этот скрипт ищет спецификации ARXML в папке arxml в текущей папке и исходных файлах C в папке code. Результаты хранятся в папке polyspace в текущей папке. В более поздних запусках, аналитические повторные использования результат предыдущего пробегает файл psar_project.xhtml и обновляет результаты только для компонентов программного обеспечения, измененных начиная с последнего запуска.

echo off
set POLYSPACE_AUTOSAR_PATH=C:\Program Files\Polyspace\R2019a\polyspace\bin

IF NOT EXIST polyspace\psar_project.xhtml (
"%POLYSPACE_AUTOSAR_PATH%\polyspace-autosar" -create-project polyspace -arxml-dir arxml -sources-dir code
) ELSE (
"%POLYSPACE_AUTOSAR_PATH%\polyspace-autosar" -update-project polyspace\psar_project.xhtml
)
Pause

Можно также запустить Программу автоматического доказательства Кода на реализации кода компонентов программного обеспечения AUTOSAR со скриптами MATLAB®. Смотрите polyspaceAutosar.

Дополнительная информация

Смотрите результаты Polyspace анализа на коде AUTOSAR.

Смотрите также

| |

Похожие темы