ВЕРИФИКА́ЦИЯ
-
Рубрика: Технологии и техника
-
-
Скопировать библиографическую ссылку:
Книжная версия:
Электронная версия:
ВЕРИФИКА́ЦИЯ в информатике, процесс определения того, удовлетворяют ли результаты текущего этапа разработки объекта (напр., программно-аппаратной системы) требованиям, установленным для них на предыдущем этапе; процесс проверки выполнения заданных свойств объекта. В. называют и любые действия, выполняемые в ходе этого процесса.
Проверяемый в ходе В. объект часто называют реализацией, а проверяемые свойства – спецификацией. В. может относиться к программному или аппаратному обеспечению, а также к программно-аппаратному комплексу в целом. В. бывает статической и динамической в зависимости от того, проводится ли она без функционирования проверяемой реализации (модели) или в ходе её работы.
В. может осуществляться путём построения формального доказательства (или опровержения) соответствия реализации спецификациям. В этом случае говорят о формальной верификации. Формальная статич. В. возможна, когда формально определены проверяемые свойства и модель, представляющая реализацию. Напр., проверяемым свойством может быть наступление к.-л. события при определённых условиях в рамках конечного автомата, описывающего реализацию. Среди методов формальной статич. В. выделяют аналитическую В., с помощью которой проверяемые свойства доказываются или опровергаются на основе к.-л. логич. исчисления, и метод проверки на моделях (model checking), сводящий исследование этих свойств к проверке их на конечном множестве состояний реализации.
Неформальная статич. В. сводится к совместному анализу документов, кода программ, моделей или схем, представляющих спецификацию и реализацию. Напр., одним из таких подходов является инспекция программ.
Основной и наиболее широко применяемый вид динамич. В. – тестирование. Формальное тестирование основывается на некоторых гипотезах о реализации и, исходя из них и фактич. результатов функционирования реализации, доказывает или опровергает её соответствие спецификации. Разл. виды формальных моделей и исчислений, используемые для формальной В., могут быть классифицированы следующим образом: исполняемые модели (автоматы и их разл. расширения, системы переходов и их расширения, системы взаимодействующих автоматов или системы переходов, сети Петри); логич. и алгебраич. исчисления (логика Хоара и контрактные модели, алгебраич. описания абстрактных типов данных, временные логики, реляционные алгебры); промежуточные модели (алгебры процессов, машины с абстрактными состояниями, ламбда-исчисление и его расширения).
Для большинства разработчиков исполнимые модели более понятны и удобны в применении, чем логико-алгебраические. Однако они требуют более детальной проработки и поэтому чаще используются для представления реализации, а логико-алгебраич. модели чаще применяются для представления спецификации. В ряде случаев и спецификация, и реализация представлены в виде исполнимых моделей или моделей промежуточного типа.