Исследовательская группа

Методы машинного обучения в области программной инженерии

Методы машинного обучения приобретают всё большую популярность во всех областях исследований и индустрий, в том числе и в области программной инженерии. В этой группе мы ставим задачу объединить последние разработки машинного обучения и программной инженерии для разработки новых способов создания и улучшения кода.

Текущая область интересов группы:

  • Подходы к обнаружению дефектов объектно-ориентированной архитектуры и автоматическая рекомендация соответствующих рефакторингов для оптимизации структуры кода.
  • Обнаружение клонов в программном коде и разработка инструментов для автоматизированного выделения и переиспользования общего кода.
  • Построение векторных представлений кода для решения задач, таких как поиск плагиата, предсказание имён идентификаторов в коде или суммаризация кода.
  • Анализ динамики изменения стиля того, как люди пишут код.
  • Использование исторических данных для улучшения инструментов взаимодействия разработчиков, например, при помощи систем рекомендации.
  • Поиск аномалий в коде.
  • Автогенерация участков кода по описаниям на естественном языке, по набору используемых API вызовов и т.п.
  • Разработка ассистентов написания кода: например, поиск и автоматическое исправление типовых ошибок, рекомендация функций IDE, анализ контекста разработки и намерений разработчика.
  • Анализ покоммитной истории в репозиториях исходного кода с целью предсказания последующих изменений, мест проявления ошибок и других событий.
  • Методы обнаружения и автокоррекции ошибок в коде.

Состав

Тимофей Брыксин
Тимофей Брыксин
Руководитель лаборатории/группы
Алексей Шпильман
Алексей Шпильман
Консультант
Владимир Коваленко
Владимир Коваленко
Старший исследователь
Анастасия Бирилло
Анастасия Бирилло
Исследователь
Егор Богомолов
Егор Богомолов
Исследователь
Илья Вологин
Илья Вологин
Студент
Ярослав Голубев
Ярослав Голубев
Исследователь
Михаил Евтихиев
Михаил Евтихиев
Исследователь