Логика в области компьютерных наук Хута и Райана дает достаточно читаемый обзор современных систем для верификации систем. Когда-то люди говорили о том, как правильно доказывать программы - с языками программирования, которые могут иметь или не иметь побочные эффекты. У меня сложилось впечатление, что из этой и других книг создается впечатление, что реальные приложения отличаются - например, доказательство того, что протокол верен, или что модуль с плавающей запятой чипа может делиться правильно, или что процедура без блокировки для манипулирования связанными списками является правильной.
ACM Computing Surveys, том 41, выпуск 4 (октябрь 2009 г.) - это специальный выпуск, посвященный проверке программного обеспечения. Похоже, что вы можете получить хотя бы одну из статей без учетной записи ACM, выполнив поиск «Формальные методы: практика и опыт».