Формальная верификация: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[непроверенная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
Строка 26: Строка 26:
* [[алгебра процессов]]
* [[алгебра процессов]]
* [[структурированные алгоритмы]]
* [[структурированные алгоритмы]]
* [[структурированнные программы]]
* [[структурированные программы]]
* формальная семантика языков программирования, например [[операционная семантика]], [[денотационная семантика]], [[аксиоматическая семантика]], [математическая семантика программ] и [[логика Хоара]].
* формальная семантика языков программирования, например [[операционная семантика]], [[денотационная семантика]], [[аксиоматическая семантика]], [математическая семантика программ] и [[логика Хоара]].



Версия от 15:56, 13 марта 2009

В контексте аппаратный и программных систем формальная верификация — доказательство с помощью формальных методов правильности или неправильности алгоритмов, программ и системы в соответствии с формальным описанием их свойств.

Обоснование

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

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

Области применения

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

Теоретические основы

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

Примерами математических объектов, часто используемых для моделирования систем являются:

Подходы к формальной верификации

Существуют следующие подходы к формальной верификации:

См. также