Руководитель программы: академик Аветисян А. И. 
Целью магистерской программы является подготовка магистров, специализирующихся по разработке оптимизирующих фаз компиляторов с использованием как традиционных, так и новых методов агрессивной оптимизации программ с учётом их профилей, а также оптимизации периода связывания (линковки) модулей программы. Изучаются методы динамической и адаптивной оптимизации процедур, составляющих программу, в компиляторах времени выполнения. Выпускники программы будут владеть современными методами анализа и трансформации программ, уметь решать вопросы, связанные с обеспечением безопасной эксплуатации программ: поиском злонамеренного кода, выявлением уязвимостей защиты программ, поиском недокументированных возможностей, запутыванием программ. 
  
  | 
 
Учебный план обучения в магистратуре строится из общей части (одинаковой для всех магистерских программ всех потоков), и вариативной части, в которой разные магистерские программы расходятся. Вариативная часть учебного плана содержит в себе уникальные дисциплины, обучение по которым ведётся в только рамках одной программы, а также специальные дисциплины, часть из которых читается преподавателями кафедры системного программирования, часть — преподавателями других кафедр. Среди дисциплин вариативной части есть блок дисциплин по выбору. В рамках этого блока в программе предлагается список курсов, из которого обучающиеся сами выбирают дисциплины для обучения. Часть этих дисциплин читается преподавателями кафедры системного программирования, остальные — преподавателями других кафедр в рамках других магистерских программ.
  
Осенний семестр 1-го курса магистратуры 
Вариативная часть: 
Уникальные дисциплины: 
• Оптимизация в компиляторах. Лекционный курс с экзаменом и практическими заданиями в среде LLVM. В курсе рассматриваются методы и алгоритмы машинно-независимой оптимизации, межпроцедурная оптимизация, методы и алгоритмы машинно-ориентированной оптимизации, динамическая и адаптивная оптимизация, выбор последовательности оптимизаций в компиляторе.																				
 
• Спецсеминар  (зачёт). К магистерской программе относятся спецсеминары «Анализ и оптимизация программ», «Операционные системы и языки программирования распределенных вычислительных систем». 
Специальные дисциплины: 
• Параллельные вычисления. Курс кафедры СКИ с экзаменом. 
• Компьютерные сети и телекоммуникации (дополнительные главы). Курс кафедры АСВК с экзаменом. 
Дисциплины общей части: 
• Иностранный язык (зачёт) 
• Современная философия и методология науки (экзамен) 
• Межфакультетский курс по выбору (зачёт) 
 
Весенний семестр 1-го курса магистратуры 
Вариативная часть: 
Уникальные дисциплины: 
• Дедуктивный анализ программ. Лекционный курс с экзаменом, семинарами и практическими заданиями. Цель курса — дать теоретические основы дедуктивного анализа программ и подкрепить их практическими примерами, техниками и инструментами. Дедуктивный анализ предполагает чёткое формулирование утверждений о поведении программ и их доказательство. Задания по данному курсу выполняются при помощи современных инструментов, используемых на практике. 
• Спецсеминар (зачёт) 
Специальные дисциплины: 
• Дисциплина по выбору. Лекционный курс с экзаменом. 
• Введение в информационную безопасность. Курс кафедры АСВК с экзаменом. 
Дисциплины общей части: 
• Иностранный язык (экзамен) 
• Правоведение (экзамен) 
• Межфакультетский курс по выбору (зачёт) 
В конце первого года магистратуры защищается курсовая работа. 
 
Осенний семестр 2-го курса магистратуры 
Вариативная часть: 
Уникальные дисциплины: 
• Анализ кода и информационная безопасность. Лекционный курс с экзаменом, семинарами и практическими заданиями. Курс посвящён проблемам информационной безопасности, возникающим на ключевых этапах жизненного цикла ПО. Рассматриваются особенности разработки и отладки программ, влияющие на безопасность, а также методы изучения программ в отсутствии исходных кодов.																				
 
• Спецсеминар (зачёт) 
Специальные дисциплины: 
• Теория игр и исследование операций. Курс кафедры ИО с экзаменом. 
• Методы анализа и проектирования программного обеспечения. Курс кафедры СП с экзаменом и практическими заданиями по UML-моделированию.В курсе рассматриваются современные методы и средства анализа и проектирования программного обеспечения, основанные на применении объектно-ориентированного подхода и унифицированного языка моделирования, а также их практическое использование. 
• Дисциплина по выбору. Лекционный курс с экзаменом. 
Дисциплины общей части: 
• Суперкомпьютерное моделирование и технологии. Курс кафедры СКИ с экзаменом. 
• История и методология прикладной математики. Курс кафедры АСВК с зачётом. 
• Межфакультетский курс по выбору (зачёт). 
• Научно-исследовательская работа (зачёт). 
 
Весенний семестр 2-го курса магистратуры 
Вариативная часть: 
Уникальные дисциплины: 
• Современные архитектуры и компиляторные технологии. Лекционный курс с экзаменом, семинарами и практическими заданиями. В данном курсе будут рассмотрены параллельные модели и соответствующие им программные реализации. Студенты получат теоретические и практические знания о проблемах и сложностях параллельного программирования, существующих решениях, способах отладки и оптимизации программ. Акцент будет сделан на системную составляющую и организацию работы, а не конкретные технологии. Курс подкреплён практикумом с использованием современных технологий. Аналогом является курс института Беркли CS267 (Applications of Parallel Computers). 
• Анализ программ: понимание и оптимизация. Лекционный курс на английском языке с зачётом. 
• Спецсеминар (зачёт) 
Специальная дисциплина: 
• Дисциплина по выбору. Лекционный курс с зачетом. 
Дисциплины общей части: 
В конце второго года магистратуры выполняется преддипломная практика, защищается магистерская диссертация и сдаётся государственный экзамен. 
 
Список курсов, предлагаемых как дисциплины по выбору: 
• Контроль качества программного обеспечения. Лекционный курс кафедры СП с семинарами и практическими заданиями. Он знакомит слушателей с основными проблемами проверки качества сложных программных систем и современными подходами к их решению на основе тестирования. Рассматриваются как классические техники построения тестов, использующие конечные автоматы и комбинаторные схемы, так и более пригодные для систем реальной сложности интегрированные подходы. Разбираются различные техники организации тестовых наборов, понятие полноты тестирования и различные критерии полноты. Слушатели получают базовые знания в тестировании на основе моделей — новой, динамично развивающейся области на границе между теоретической информатикой и программной инженерией, а также представление о практических приложениях этого подхода. 
• Методы интеллектуального анализа данных. Курс кафедры АСВК. 
• Компьютерная алгебра. Курс кафедры АЯ. 
• Модель данных SQL. Курс кафедры СП. Детально рассматривается язык SQL: его структура, типы данных SQL, средства определения, изменения определения и отмены определения доменов, неявные и явные преобразования типа или домена, средства определения базовых таблиц и ограничений целостности, структура оператора выборки и его разделов. 
• Методы верификации моделей программного обеспечения. Лекционный курс кафедры СП с практическими заданиями. В курсе рассматриваются моделирование программ и формализация требований, спецификация и верификация параллельных программ, язык Promela и инструмент проверки моделей Spin, моделирование программ структурами Крипке, Автоматы Бюхи и ω-регулярные языки, дополнительные вопросы верификации моделей программ. 
• Облачные вычисления и виртуализация информационных ресурсов. Курс кафедры АСВК.
  
  |