Технологии программирования


Об отделе

В Отделе технологий программирования разрабатываются следующие темы исследований:

Моделирование программных систем

  • Языки и средства моделирования архитектуры и поведения систем.
  • Теоретические методы анализа конформности моделей поведения.
  • Модели информационной безопасности.

Верификация программных и программно-аппаратных систем

  • Тестирование на основе моделей.
  • Тестирование математических библиотек.
  • Инструменты и технологии верификации моделей программ (software model checking).
  • Инструменты и технологии дедуктивной верификации.
  • Конфигурационное тестирование.
  • Инструменты тестирования моделей микропроцессоров.

Операционные системы

  • Разработка операционных систем реального времени.
  • Оптимизация ядра операционной системы Linux.
  • Методы тестирования и верификации компонентов ядра ОС Linux, в том числе драйверов ОС.
  • Гипервизоры, средства виртуализации для анализа и защиты программ.
  • Методы спецификации и тестирования библиотек ОС Linux.
  • Методы анализа совместимости развивающихся библиотек ОС Linux.
  • Методы измерения временных характеристик ОС.
  • Механизмы информационной безопасности и защиты ОС (SELinux, Astra Linux).

Встроенные системы и системы реального времени, телекоммуникационные протоколы, распределённые системы

  • Инструменты управления требованиями.
  • Моделирование и проектирование ответственных систем, включая системы авионики.
  • Анализ функциональных, временных и ресурсных характеристик систем.
  • Тестирование инфраструктуры мобильной телефонии.

Темы исследовательских проектов для студентов

 Графический редактор моделей:

  • Расположение графических элементов по заданным критериям с приоритетами.

Текстовый редактор DSL:

  • Генерация кода текстового редактора для DSL на основе его грамматики, описанной языком ANTLR. (Расширение для среды Eclipse).

 Анализ моделей программно-аппаратных комплексов:

  • Разработка общей базы данных для хранения результатов анализа моделей, специфичных для отдельно взятого анализатора.

Верификация операционных систем реального времени:

  • Поддержка примитивов синхронизации для атомарного доступа при поиске состояний гонок.
Разработка мобильных операционных систем:

  • Оптимизации компонента межпроцессного взаимодействия в ОС Android
Методы верификации моделей в применении к драйверам ядра операционной системы Linux:

  • Повышение качества верификации за счет разработки новых спецификаций и доработки существующих;
  • Поддержка верификации для платформы ARM.