Математические методы верификации схем и программ — различия между версиями
Материал из Кафедра математической кибернетики
PodymovVV (обсуждение | вклад) м |
PodymovVV (обсуждение | вклад) м |
||
Строка 21: | Строка 21: | ||
= Материалы семинаров = | = Материалы семинаров = | ||
+ | |||
+ | ''Любые'' вопросы по темам семинарских занятий можно высылать на почту [[Подымов Владислав Васильевич| valdus@yandex.ru]]. | ||
'''[[Media: Seminar_Verification_1.pdf| Семинар 1.]]''' Доказательство корректности императивных программ с помощью логики Хоара. | '''[[Media: Seminar_Verification_1.pdf| Семинар 1.]]''' Доказательство корректности императивных программ с помощью логики Хоара. | ||
− | '''Домашнее задание 1:''' см. семинар 1; решение высылать на почту valdus@yandex.ru в любом нерукописном цифровом виде (.txt, .doc, TeX-pdf, ...); крайний срок сдачи: '''27 сентября, 23:59'''; поощрение за сделанное домашнее задание: '''освобождение от задачи на тему логики Хоара'''. | + | '''Домашнее задание 1:''' см. семинар 1; решение высылать на почту [[Подымов Владислав Васильевич| valdus@yandex.ru]] в любом нерукописном цифровом виде (.txt, .doc, TeX-pdf, ...); крайний срок сдачи: '''27 сентября, 23:59'''; поощрение за сделанное домашнее задание: '''освобождение от задачи на тему логики Хоара'''. |
= Литература = | = Литература = |
Версия 14:01, 14 сентября 2016
Общая информация
Обязательный курс для магистров 618 и 621 группы 11 семестра обучения.
Курс читают
- профессор В. А. Захаров
- младший научный сотрудник В. В. Подымов.
Лекционная нагрузка — 32 ч., семинары и практические занятия— 16 ч.
Программа
- Задача верификации аппаратуры и программного обеспечения. Зачем нужна формальная верификация программ? Основные подходы к задаче формальной верификации. Принципы верификации моделей программ. Исторические сведения. Достижения методов формальной верификации программ. Алгоритмические и комбинаторные трудности применения метода верификации моделей программ. Лекция 1.
- Общие принципы дедуктивной верификации программ. Операционная семантика императивных программ. Формальная постановка задачи верификации программ. Логика Хоара: правила вывода и свойства. Автоматизация проверки правильности программ. Лекция 2.
- Моделирование схем. Системы переходов - модели Крипке. Представление систем переходов формулами логики предикатов первого порядка. Синхронные и асинхронные схемы. Степень детализации представления. Трансляция описаний программ и схем в модели Крипке. Лекция 3.
- Темпоральная логика деревьев вычислений CTL. Синтаксис и семантика CTL. Примеры спецификаций моделей в терминах формул CTL. Темпоральная логика линейного времени PLTL. Синтаксис и семантика PLTL. Свойства живости и безопасности. Ограничения справедливости. Задача верификации моделей (model-checking). Лекция 4.
- Табличный алгоритм верификации моделей для CTL. Обоснование корректности и сложности табличного алгоритма верификации моделей. Проблема “комбинаторного взрыва”. Символьные средства описания моделей. Двоичные разрешающие диаграммы (BDD). Алгоритм редукции BDD к каноническому виду (OBDD). Выполнение операций над OBDD: унарные и бинарные булевы операции, квантификация, проверка выполнимости, подсчет числа единиц. Общие представления о сложности в классе OBDD. Лекция 5.
- Представления неподвижной точки в CTL. Алгоритм символьной верификации моделей в CTL. Особенности реализации алгоритма: учет ограничений справедливости, расщепленные отношения переходов, рекомбинация произведений. Лекция 6.
- Табличная верификация моделей для PLTL. Автоматы Бюхи: их свойства и обобщения. Трансляция формул PLTL в автоматы Бюхи. Сведение задачи проверки выполнимости формул PLTL к проблеме пустоты для автоматов Бюхи. Алгоритм двойного поиска в глубину с возвратом (DDFS) для проверки пустоты автоматов Бюхи. Лекция 7.
Материалы семинаров
Любые вопросы по темам семинарских занятий можно высылать на почту valdus@yandex.ru.
Семинар 1. Доказательство корректности императивных программ с помощью логики Хоара.
Домашнее задание 1: см. семинар 1; решение высылать на почту valdus@yandex.ru в любом нерукописном цифровом виде (.txt, .doc, TeX-pdf, ...); крайний срок сдачи: 27 сентября, 23:59; поощрение за сделанное домашнее задание: освобождение от задачи на тему логики Хоара.
Литература
- Э.М. Кларк, О. Грамберг, Д. Пелед. Верификация моделей программ: Model Checking. Изд-во МЦНМО, 2002.
- Ю.Г. Карпов. Model Checking: верификация параллельных и распределенных программных систем. Изд-во БХВ-Петербург, 2010.
- K. R. Apt, E.-R. Olderog. Verification of sequential and concurrent programs, Springer, 1997.
- B. Berard, M. Bidoit, A. Finkel, F. Laroussinie, A. Petit, L. Petrucci, P. Schnoebelen. Systems and Software Verification: Model-Checking Techniques and Tools. Springer, 2001.
- Baier C., Katoen J.-P. Principles of model checking, MIT Press, 2008.