Главная страница « Информация « Магистратура «

Магистерская программа «Компиляторные технологии»


Руководитель программы: академик Иванников В. П.
Целью магистерской программы является подготовка магистров, специализирующихся по разработке оптимизирующих фаз компиляторов с использованием как традиционных, так и новых методов агрессивной оптимизации программ с учётом их профилей, а также оптимизации периода связывания (линковки) модулей программы. Изучаются методы динамической и адаптивной оптимизации процедур, составляющих программу, в компиляторах времени выполнения. Выпускники программы будут владеть современными методами анализа и трансформации программ, уметь решать вопросы, связанные с обеспечением безопасной эксплуатации программ: поиском злонамеренного кода, выявлением уязвимостей защиты программ, поиском недокументированных возможностей, запутыванием программ.

Учебный план


Учебный план обучения в магистратуре строится из общей части (одинаковой для всех магистерских программ всех потоков), и вариативной части, в которой разные магистерские программы расходятся. Вариативная часть учебного плана содержит в себе уникальные дисциплины, обучение по которым ведётся в только рамках одной программы, а также специальные дисциплины, часть из которых читается преподавателями кафедры системного программирования, часть — преподавателями других кафедр. Среди дисциплин вариативной части есть блок дисциплин по выбору. В рамках этого блока в программе предлагается список курсов, из которого обучающиеся сами выбирают дисциплины для обучения. Часть этих дисциплин читается преподавателями кафедры системного программирования, остальные — преподавателями других кафедр в рамках других магистерских программ.

Осенний семестр 1-го курса магистратуры
Вариативная часть:
Уникальные дисциплины:
Оптимизация в компиляторах. Лекционный курс с экзаменом и практическими заданиями в среде LLVM. В курсе рассматриваются методы и алгоритмы машинно-независимой оптимизации, межпроцедурная оптимизация, методы и алгоритмы машинно-ориентированной оптимизации, динамическая и адаптивная оптимизация, выбор последовательности оптимизаций в компиляторе.
Спецсеминар «Компиляторные технологии» (зачёт)
Специальные дисциплины:
Параллельные вычисления. Курс кафедры СКИ с экзаменом.
Компьютерные сети и телекоммуникации (дополнительные главы). Курс кафедры АСВК с экзаменом.
Дисциплины общей части:
Иностранный язык (зачёт)
Современная философия и методология науки (экзамен)
Межфакультетский курс по выбору (зачёт)

Весенний семестр 1-го курса магистратуры
Вариативная часть:
Уникальные дисциплины:
Дедуктивный анализ программ. Лекционный курс с экзаменом, семинарами и практическими заданиями. Цель курса — дать теоретические основы дедуктивного анализа программ и подкрепить их практическими примерами, техниками и инструментами. Дедуктивный анализ предполагает чёткое формулирование утверждений о поведении программ и их доказательство. Задания по данному курсу выполняются при помощи современных инструментов, используемых на практике.
Спецсеминар «Компиляторные технологии» (зачёт)
Специальные дисциплины:
Дисциплина по выбору. Лекционный курс с экзаменом.
Введение в информационную безопасность. Курс кафедры АСВК с экзаменом.
Дисциплины общей части:
Иностранный язык (экзамен)
Правоведение (экзамен)
Межфакультетский курс по выбору (зачёт)
В конце первого года магистратуры защищается курсовая работа.

Осенний семестр 2-го курса магистратуры
Вариативная часть:
Уникальные дисциплины:
Анализ кода и информационная безопасность. Лекционный курс с экзаменом, семинарами и практическими заданиями. Курс посвящён проблемам информационной безопасности, возникающим на ключевых этапах жизненного цикла ПО. Рассматриваются особенности разработки и отладки программ, влияющие на безопасность, а также методы изучения программ в отсутствии исходных кодов.
Спецсеминар «Компиляторные технологии» (зачёт)
Специальные дисциплины:
Теория игр и исследование операций. Курс кафедры ИО с экзаменом.
Методы анализа и проектирования программного обеспечения. Курс кафедры СП с экзаменом и практическими заданиями по UML-моделированию.В курсе рассматриваются современные методы и средства анализа и проектирования программного обеспечения, основанные на применении объектно-ориентированного подхода и унифицированного языка моделирования, а также их практическое использование.
Дисциплина по выбору. Лекционный курс с экзаменом.
Дисциплины общей части:
Суперкомпьютерное моделирование и технологии. Курс кафедры СКИ с экзаменом.
История и методология прикладной математики. Курс кафедры АСВК с зачётом.
Межфакультетский курс по выбору (зачёт).
Научно-исследовательская работа (зачёт).

Весенний семестр 2-го курса магистратуры
Вариативная часть:
Уникальные дисциплины:
Современные архитектуры и компиляторные технологии. Лекционный курс с экзаменом, семинарами и практическими заданиями. В данном курсе будут рассмотрены параллельные модели и соответствующие им программные реализации. Студенты получат теоретические и практические знания о проблемах и сложностях параллельного программирования, существующих решениях, способах отладки и оптимизации программ. Акцент будет сделан на системную составляющую и организацию работы, а не конкретные технологии. Курс подкреплён практикумом с использованием современных технологий. Аналогом является курс института Беркли CS267 (Applications of Parallel Computers).
Анализ программ: понимание и оптимизация. Лекционный курс на английском языке с зачётом.
Спецсеминар «Компиляторные технологии» (зачёт)
Специальная дисциплина:
Дисциплина по выбору. Лекционный курс с зачетом.
Дисциплины общей части:
В конце второго года магистратуры выполняется преддипломная практика, защищается магистерская диссертация и сдаётся государственный экзамен.

Список курсов, предлагаемых как дисциплины по выбору:
Контроль качества программного обеспечения. Лекционный курс кафедры СП с семинарами и практическими заданиями. Он знакомит слушателей с основными проблемами проверки качества сложных программных систем и современными подходами к их решению на основе тестирования. Рассматриваются как классические техники построения тестов, использующие конечные автоматы и комбинаторные схемы, так и более пригодные для систем реальной сложности интегрированные подходы. Разбираются различные техники организации тестовых наборов, понятие полноты тестирования и различные критерии полноты. Слушатели получают базовые знания в тестировании на основе моделей — новой, динамично развивающейся области на границе между теоретической информатикой и программной инженерией, а также представление о практических приложениях этого подхода.
Методы интеллектуального анализа данных. Курс кафедры АСВК.
Компьютерная алгебра. Курс кафедры АЯ.
Модель данных SQL. Курс кафедры СП. Детально рассматривается язык SQL: его структура, типы данных SQL, средства определения, изменения определения и отмены определения доменов, неявные и явные преобразования типа или домена, средства определения базовых таблиц и ограничений целостности, структура оператора выборки и его разделов.
Методы верификации моделей программного обеспечения. Лекционный курс кафедры СП с практическими заданиями. В курсе рассматриваются моделирование программ и формализация требований, спецификация и верификация параллельных программ, язык Promela и инструмент проверки моделей Spin, моделирование программ структурами Крипке, Автоматы Бюхи и ω-регулярные языки, дополнительные вопросы верификации моделей программ.
Облачные вычисления и виртуализация информационных ресурсов. Курс кафедры АСВК.

  

© Кафедра системного программирования ВМК МГУ.

Обновлено: 24.2.2015