Polyspace Code Prover и обзор рабочего процесса Polyspace Code Prover Server

Polyspace Code Prover является звуковым инструментом статического анализа, который доказывает отсутствие переполнения, разделитесь на нуль, за пределы доступ к массиву и другие ошибки времени выполнения в исходном коде C++ и C. Это приводит к результатам, не требуя выполнения программы, отладки кода или тестов. Polyspace® Code Prover™ использует семантический анализ и абстрактную интерпретацию на основе формальных методов, чтобы проверить межпроцедурное программное обеспечение, управление и поведение потока данных. Можно использовать его, чтобы проверить рукописный код, сгенерированный код или комбинацию двух. На каждый оператор кода наносят цветную маркировку, чтобы указать, свободно ли это от ошибок времени выполнения, которые, как доказывают, перестали работать, недостижимый, или бездоказательный. Информация об области значений отображений Polyspace Code Prover для переменных и функциональных возвращаемых значений, и может доказать, какие переменные превышают указанные диапазоны. Результаты верификации кода могут использоваться, чтобы отследить метрики качества и соответствие проверки с вашими целями качества программного обеспечения. Polyspace Code Prover может использоваться с IDE Eclipse™, чтобы проверить код по вашему рабочему столу.

Polyspace Code Prover Server является звуковым механизмом статического анализа, который доказывает отсутствие переполнения, разделите на нуль, за пределы, доступ к массиву и определенные другие ошибки времени выполнения в C и Коде С++. Это выполняет межпроцедурный анализ всего возможного управления и потоков данных, включая многопоточный код, чтобы идентифицировать каждую операцию как всегда безопасный, всегда дефектный, недостижимый, или уязвимый. Polyspace Code Prover Server™ идентифицирует сегменты кода, которые свободны от ошибок времени выполнения, которые, как доказывают, перестали работать, недостижимый, или бездоказательный. Polyspace Code Prover Server может работать на машине класса сервера и может быть интегрирован в сборку и непрерывные системы интегрирования для инструментов использования автоматизированной верификации, таких как Дженкинс.

Рабочий процесс Polyspace Code Prover и Polyspace Code Prover Server обеспечивает рабочий процесс для продуктов Polyspace Code Prover Server и Polyspace Code Prover. В частности, это описывает как к:

  • Усильте верификацию кода, недостижимый анализ кода, вызовите древовидное вычисление, анализ использования глобальной переменной и метрики качества, сообщив о возможностях Polyspace Code Prover и Polyspace Code Prover Server в жизненном цикле программного обеспечения

  • Проверяйте, что эти возможности функционируют как ожидалось

Рабочий процесс, представленный в этом документе, описывает действия, предназначенные, чтобы выполнить применимые требования полных жизненных циклов безопасности программного обеспечения, заданных IEC 61508-3, ISO 26262-6, EN 50128, IEC 62304, соответственно, когда они относятся к верификации и анализу рукописного, сгенерированного, или смешанного исходного кода. Рабочий процесс обращается к уровням риска ASIL - ASIL D согласно ISO 26262, SIL 1 - SIL 4 согласно IEC 61508, Классу A – Класс C согласно IEC 62304, и SIL 0 - SIL 4 согласно EN 50128.

Примечание

IEC 61508 рекомендует предотвращение функций безопасности SIL 4; это - ответственность пользователя инструмента проверять меры как использование разнообразных инструментов для той же цели, другие меры по снижению риска, и т.д.

Можно использовать Polyspace Code Prover и Polyspace Code Prover Server для:

  • Проверка кода

  • Анализ недостижимого кода

  • Вызовите древовидное вычисление

  • Анализ использования глобальной переменной

  • Метрическое определение качества программного обеспечения

Следующее изображение иллюстрирует интегрирование Polyspace Code Prover и Polyspace Code Prover Server в рабочий процесс Модельно-ориентированного проектирования IEC Certification Kit. Твердые стрелки в фигуре указывают на последовательность действий разработки программного обеспечения. Модели, используемые для генерации производственного кода, могут содержать рукописный исходный код. Например, код С содержится в пользовательских S-функциях. Например, код С содержится в пользовательских S-функциях. Этот вариант использования смешанного кода обозначается пунктирной стрелкой между рукописным кодом C/C++ и моделью, используемой для полей генерации производственного кода.

Анализ исходного кода и верификация Используя Polyspace Code Prover и Polyspace Code Prover Server

Чтобы получить доступ к Polyspace Code Prover документ Рабочего процесса Polyspace Code Prover Server, откройте Менеджера артефактов. Под Polyspace Code Prover, открытым файл certkitiec_codeprover_workflow.pdf.