Полиспейс
Разработчик(и) | MathWorks [1] |
---|---|
Стабильная версия | Р2022б
/ 15 сентября 2022 г |
Операционная система | Кросс-платформенный [2] |
Тип | статический анализ кода |
Лицензия | Собственный |
Веб-сайт | www |
Polyspace — это инструмент статического анализа кода, предназначенный для крупномасштабного анализа посредством абстрактной интерпретации с целью обнаружения или доказательства отсутствия определенных ошибок времени выполнения в исходном коде для языков программирования C , C++ и Ada . Инструмент также проверяет исходный код на соответствие соответствующим стандартам кода. [3]
История
[ редактировать ]Polyspace изначально был разработан французской компанией PolySpace Technologies , которую MathWorks приобрела в 2007 году. [4] Впоследствии продукт был интегрирован в MATLAB.
Обычное использование
[ редактировать ]Polyspace проверяет исходный код, чтобы определить, где могут возникнуть потенциальные ошибки во время выполнения, такие как арифметическое переполнение , переполнение буфера , деление на ноль и другие. Разработчики программного обеспечения и менеджеры по обеспечению качества используют эту информацию, чтобы определить, какие части кода ошибочны или доказали свою надежность. Остальные части кода помечены для непроверенных проверок и заслуживают индивидуальной проверки. [5] [6]
Стандарты или рекомендации по кодированию, такие как MISRA C, направлены на обеспечение качества, переносимости и надежности кода. Продукт проверяет исходный код C и C++ на соответствие подмножеству правил этих стандартов кодирования. [7]
Возможности
[ редактировать ]Семейство продуктов состоит из Polyspace Code Prover и Polyspace Bug Finder. Модуль Code Prover аннотирует исходный код схемой цветового кодирования, чтобы указать состояние каждого элемента в коде. [8] Он использует статический анализ кода на основе формальных методов для проверки выполнения программы на уровне языка. [6] Инструмент проверяет каждую инструкцию кода, принимая во внимание все возможные значения каждой переменной в каждой точке кода, предоставляя формальную диагностику для каждой операции в коде как в нормальных, так и в ненормальных условиях использования. [9]
Модуль Bug Finder выявляет ошибки программного обеспечения, выполняя статический анализ исходного кода программы. Он находит такие дефекты, как численные вычисления, программирование, память и другие ошибки. Он также производит метрики программного обеспечения, такие как плотность комментариев исходного файла, цикломатическая сложность, количество строк, параметров, уровни вызовов и т. д. в функции, выявленные ошибки во время выполнения программного обеспечения. [10]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Пеле, Анн-Франсуаза (25 апреля 2007 г.). «The Mathworks приобретает PolySpace Technologies» . ЭТаймс. Архивировано из оригинала 11 февраля 2012 г. Проверено 13 августа 2010 г.
- ^ The MathWorks - Polyspace - Требования
- ^ Дойч, Ален (27 ноября 2003 г.). «Статическая проверка динамических свойств» (PDF) . Полиспейс Технологии. Архивировано из оригинала (PDF) 13 марта 2012 г. Проверено 17 мая 2014 г.
- ^ Пеле, Анн-Франсуаза (25 апреля 2007 г.). «The Mathworks приобретает PolySpace Technologies» . ЭЭ Таймс . Проверено 12 июля 2024 г.
- ^ Брат, Гийом (2004). «Экспериментальная оценка инструментов проверки и валидации программного обеспечения марсианского вездехода». Формальные методы проектирования систем . 25 (2/3): 167–198. дои : 10.1023/B:FORM.0000040027.28662.a4 . hdl : 2060/20040010327 .
- ^ Jump up to: а б Экспонента (24 сентября 2012 г.). «Исследование экспонентом аппаратного и программного обеспечения автомобиля Toyota ETCS-i» . Экспонента. Архивировано из оригинала 27 июля 2014 г. Проверено 7 сентября 2010 г.
- ^ MathWorks: статический анализ кода .
- ^ Джонс, Пол; Джетли, Рауль; Авраам, Джей (9 февраля 2010 г.). «Подход к анализу программного обеспечения медицинского оборудования, основанный на формальных методах» . Проектирование встраиваемых систем . Проверено 16 августа 2010 г.
- ^ Виссинг, Клаус (27 сентября 2007 г.). «Статический анализ динамических свойств — автоматическая проверка программы на отсутствие динамических ошибок времени выполнения» (PDF) . Практикум по прикладному программному анализу . Проверено 13 августа 2010 г.
- ^ «Программная метрика-МАТЛАБ» . Индия: MathWorks . Проверено 27 августа 2015 г.