Название курса:
М Е Т О Д Ы Ф О Р М А Л Ь Н О Й С П Е Ц И Ф И К А Ц И И
П Р О Г Р А М М
Курс, для которого читается, потоки: 4 курс, 3 поток.
Часы по семестрам: 7 семестр √ 34,
8 семестр √ 30.
Семинары в поддержку курса (часы): 7 семестр √ 34,
8 семестр √ 30.
Статус: Потоковый.
Содержание курса.
ПЕРВАЯ ЧАСТЬ.
Инженерия программирования: систематические, строгие и формальные подходы. Схемы жизненного цикла программных средств, виды деятельности на фазах жизненного цикла. Прямая и обратная инженерия. Формальные методы на разных фазах жизненного цикла.
Строгий подход к индустриальной программной инженерии - RAISE методология и язык RSL. Типы, аксиомы, значения. Абстракция и уточнение. Параллельность. Недетерминизм и ╚недоспецификация╩.
Тестирование: традиционный подход. Методы ╚черного╩ и ╚белого╩ ящиков╩. Критерии полноты тестового покрытия. Декомпозиция тестовых наборов. Тестирование конечного автомата. Model checking (анализ моделей). Формальные спецификации и генерация тестов.
Динамическая верификация программ. Автоматическая генерация тестов на основе формальных спецификаций программ. Классы критериев покрытия. Генерация тестовых вариантов. Генерация тестовых драйверов. Генерация ╚оракулов╩. Генерация тестовых последовательностей.
Темпоральные спецификации. Темпоральные логики. Исчисление длительностей. Полный цикл проектирования: спецификация требований и предположений, модель и стратегия управления, корректность стратегии управления.
Литература.
ВТОРАЯ ЧАСТЬ.
(см. материалы ко второй части курса)
Составители программы: доцент Н.Н. Мансуров
канд. физ.-мат- наук А.К. Петренко