Jump to content

Набор инструментов для статического анализа программного обеспечения MALPAS

Разработчик(и) Аткинс
Операционная система Окна
Тип Статический анализ программы
Лицензия Собственный
Веб-сайт www .malpass-global

MALPAS — это набор программных инструментов, который предоставляет средства исследования и доказательства правильности программного обеспечения путем применения строгой формы статического анализа программы . Инструмент использует ориентированные графы и обычную алгебру для представления анализируемой программы. Используя автоматизированные инструменты MALPAS, аналитик может описать структуру программы, классифицировать использование данных и предоставить информационные связи между входными и выходными данными. Он также поддерживает формальное доказательство того, что код соответствует спецификации.

MALPAS использовался для подтверждения правильности критически важных для безопасности приложений в ядерной, [1] аэрокосмический [2] и защита [3] отрасли. Он также использовался для обеспечения корректности компилятора в атомной промышленности на Sizewell B. [4] Языки, которые были проанализированы, включают: Ada , C , PLM и Intel Assembler .

MALPAS хорошо подходит для независимого статического анализа, требуемого Исполнительным руководством Великобритании по охране труда и технике безопасности для компьютерных систем защиты ядерных реакторов, благодаря своей строгости и гибкости в работе со многими языками программирования. [5]

Технический обзор [ править ]

Набор инструментов MALPAS включает пять конкретных инструментов анализа, которые учитывают различные свойства программы. Входные данные для анализаторов должны быть написаны на промежуточном языке MALPAS (IL); он может быть написан от руки или создан с помощью инструмента автоматического перевода из исходного исходного кода. Существуют автоматические трансляторы для распространенных языков программирования высокого уровня, таких как Ada , C и Pascal , а также языков ассемблера, таких как Intel 80*86 , PowerPC и 68000 . Текст IL вводится в MALPAS через «IL Reader», который создает ориентированный граф и соответствующую семантику для анализируемой программы. Граф сокращается с использованием ряда методов сокращения графа.

Набор инструментов MALPAS состоит из 5 анализаторов: [6]

  1. Анализатор потока управления. При этом исследуется структура программы, определяются ключевые особенности: точки входа/выхода, циклы, ветки и недостижимый код. Он предоставляет сводный отчет, обращающий внимание на нежелательные конструкции и указывающий на сложность структуры программы.
  2. Анализатор использования данных. Это разделяет переменные и параметры, используемые программой, на отдельные классы в зависимости от их использования. (т. е. данные, которые считываются перед записью, данные, которые записываются без чтения, или данные, которые записываются дважды без промежуточного чтения). В отчете могут быть выявлены такие ошибки, как неинициализированные данные и выходные данные функций, записанные не на всех путях.
  3. Анализатор информационных потоков . Это определяет зависимости данных и ветвей для каждой выходной переменной или параметра. Нежелательные или неожиданные зависимости могут быть обнаружены на всех этапах кода. Также предоставляется информация о неиспользуемых переменных и избыточных операторах.
  4. Семантический анализатор (также известный как символическое выполнение ). Это раскрывает точную функциональную связь между всеми входными и выходными данными на всех семантически возможных путях прохождения кода.
  5. Анализатор соответствия. При этом математическое поведение кода сравнивается с его формальной спецификацией IL, подробно описывая, где одно отличается от другого. Спецификация IL записана в виде предусловий и постусловий , а также необязательных утверждений кода. Анализ соответствия можно использовать для достижения очень высокого уровня уверенности в функциональной корректности кода по отношению к его спецификации.

История [ править ]

Первоначальное исследование и первые поколения набора инструментов были созданы британским Королевским институтом сигналов и радиолокации (RSRE) в Малверне, Англия (отсюда и название — MALvern Programming Analysis Suite). Он широко использовался в гражданской ядерной и оружейной сфере в 1980-х годах, когда его поддержали компания «Рекс, Томпсон и партнеры», которые создали группу пользователей MALPAS, первым председателем которой был Дэвид Х. Смит (ныне из Frazer-Nash) и затем компания Advantage Технический консалтинг (купленная Аткинсом в 2008 году).

Первая крупномасштабная задача статического анализа была связана с системой защиты реактора первого контура Сайзуэлл Б. электростанции Это была первая атомная электростанция в Великобритании, на которой в качестве первой линии защиты от катастрофического отказа использовалась компьютерная система защиты. Кроме того, компания CEZ в Чешской Республике использовала MALPAS для повышения уверенности в системе защиты реактора на АЭС Темелин . Великобритании В 1995 году Королевские ВВС заказали независимый анализ программного обеспечения авионики Lockheed Martin C130J , которое было оценено как критически важное для безопасности. MALPAS использовался для анализа этого программного обеспечения, кроме программного обеспечения Mission Computer, которое было написано на Spark Ada и проверено с помощью Spark Toolset. [7] MALPAS в настоящее время используется для независимой оценки программного обеспечения системы защиты реактора, которая будет контролировать два ядерных реактора в Хинкли-Пойнт-С. [8]

Ссылки [ править ]

  1. ^ Программируемая защита на АЭС Великобритании: 10 лет спустя, Д. Пейви, British Energy. http://entrac.iaea.org/I-and-C/TM_VTT_2005_11/IAEA_papers/051124_Thursday/IAEA_paper_Pavey.pdf
  2. ^ «Статический анализ кода критически важного для безопасности программного обеспечения C-130J Hercules, Eur Ing KJ Harrison, BSc CPhys MinstP CEng MRAeS MBCS; Aerosystems International, Великобритания» (PDF) . Архивировано из оригинала (PDF) 27 сентября 2011 г. Проверено 18 марта 2011 г.
  3. ^ Анализ программного обеспечения боеприпасов с использованием инструментов MALPAS, Hayman, K, Defense Sci. и Технол. Орган., Солсбери, ЮАР. http://www.dsto.defence.gov.au/publications/scientific_record.php?record=9074
  4. ^ Формальная демонстрация эквивалентности исходного кода и содержимого PROM, Труды конференции IMA по математике надежных систем, Oxford University Press, 1995, стр. 225248D Дж. Пейви и Л. А. Уинсборроу.
  5. ^ «Компьютерные системы безопасности – техническое руководство по оценке программных аспектов цифровых компьютерных систем защиты» . Архивировано из оригинала 4 июля 2011 г.
  6. ^ Промышленный взгляд на статический анализ. Журнал Software Engineering, март 1995 г.: 69–75. Вихманн, Б.А., А.А. Каннинг, Д.Л. Клаттербак, Л.А. Уинсбарроу, Н.Дж. Уорд и Д.В.Р. Марш. http://www.ida.liu.se/~TDDC90/papers/industrial95.pdf
  7. ^ Статический анализ кода критически важного для безопасности программного обеспечения C-130J Hercules «Архивная копия» (PDF) . Архивировано из оригинала (PDF) 27 сентября 2011 г. Проверено 18 марта 2011 г. {{cite web}}: CS1 maint: архивная копия в заголовке ( ссылка )
  8. ^ https://www.newcivilengineer.com/latest/atkins-wins-hinkley-point-c-safety-contract-27-04-2020/
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 145c496c29d876b8ec3684de6bdd8d37__1689497580
URL1:https://arc.ask3.ru/arc/aa/14/37/145c496c29d876b8ec3684de6bdd8d37.html
Заголовок, (Title) документа по адресу, URL1:
MALPAS Software Static Analysis Toolset - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)