На семинаре 15 марта будет проведена контрольная работа по методам Флойда. Длительность контрольной — 1,5 часа. За это время нужно будет доказать полную корректность некоторой блок-схемы относительно некоторой спецификации при помощи методов Флойда. Можно пользоваться любыми письменными материалами и книгами. Нельзя пользоваться электронными устройствами.
Автор: Евгений Корныхин
Домашняя работа по методам Флойда с частичными функциями
Докажите, что эта блок-схема (картинка) полностью корректна относительно этой спецификации при помощи методов Флойда. Решение присылайте на почту до 12:00 17 марта в виде двух файлов: файла *.py с индуктивными утверждениями и оценочными функциями в формате PyFloyd и 2 файла *.prf с PVS доказательством истинности условий из метода индуктивных утверждений и метода фундированных множеств. Индуктивные утверждения в файле *.py должны годиться и для доказательства частичной корректности, и для доказательства завершаемости.
Обратите внимание, что команда PVS (grind) не применяет аксиомы и леммы. При необходимости можно добавить аксиому или лемму в список антецедентов при помощи команды (lemma) и продолжить доказательство при помощи (grind).
Для поддержки частичных функций обновите инструмент PyFloyd.
Еще одно пособие
Вашему вниманию предлагается пособие Камкина Александра Сергеевича «Введение в формальные методы верификации программ». В нем рассмотрены различные вопросы и методы формальной верификации программ, в частности, методы дедуктивной верификации, язык спецификации ACSL и инструменты Frama-C и Jessie. Пособие можно скачать на сайте кафедры СП.
Домашняя работа по методу фундированных множеств
Докажите, что эта блок-схема (картинка) завершается на этом предусловии при помощи метода фундированных множеств. Решение присылайте на почту до 12:00 5 марта в виде двух файлов: файла *.py с индуктивными утверждениями и оценочными функциями в формате PyFloyd и файла *.prf с PVS доказательством истинности условий верификации.
Обратите внимание, что инструмент PyFloyd поддерживает (пока) единственное фундированное множество: неотрицательные целые числа и арифметическое сравнение «меньше», а множеством значений всех оценочных функций является множество всех целых чисел.
Домашняя работа по методу индуктивных утверждений Флойда
Докажите, что эта блок-схема (картинка) частично корректна относительно этой спецификации при помощи метода индуктивных утверждений Флойда. Решение присылайте на почту до 12:00 26 февраля в виде двух файлов: файла *.py с индуктивными утверждениями в формате PyFloyd и файла *.prf с PVS доказательством истинности условий верификации.
Новый семестр
8 февраля 2018 года начинается чтение курса. Занятия для 527 и 528 групп проходят с 14:35 до 17:55 в аудитории 510.
Экзамен
15 июня состоится экзамен. Он пройдет в письменной форме. Экзамен начнется в 9:00 и будет проходить в течение 120 минут в аудитории 713. На экзамене вы можете использовать письменные и печатные материалы, но не можете использовать электронную технику и средства связи.
Вариант экзамена состоит из двух частей. В первой части вам нужно будет доказывать полную корректность блок-схем при помощи методов Флойда. Во второй части вам нужно будет работать с требованиями и спецификациями на языке ACSL.
Если будет много желающих писать экзамен, показ работ придется перенести на 16 июня.
Если вы хотите просто проставить оценку за работу в семестре, подходите в течение экзамена. Можно передать зачетную книжку через других студентов.
Отмена занятия
Контрольная работа по ACSL
4 мая в 14:35 состоится контрольная работа по ACSL. Можно пользоваться любыми печатными и письменными материалами, нельзя пользоваться компьютерами и телефонами. Длительность работы — 40 минут. После этого можно будет сдавать первый этап практического задания.
Завершена проверка
Экспресс, предложенный на лекции 6 апреля, и домашняя работа, собиравшаяся в тот же день, проверены.