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

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

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

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

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

Состав

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