Laboratório de Métodos de Aprendizado de Máquina em Engenharia de Software

As aplicações da ciência de dados estão cada vez mais populares em muitos campos de pesquisa e na indústria, inclusive na engenharia de software. Com esse grupo, pretendemos fundir as práticas atuais de última geração em ambas as áreas, melhorando as ferramentas de engenharia de software modernas e descobrindo novas formas de desenvolver e manter código.

Nossas áreas atuais de interesse:

  • Detecção de defeitos na arquitetura orientada a objetos e recomendação automática de refatorações apropriadas que otimizem a estrutura do código.
  • Detecção de clones de código e ferramentas para detecção automática e extração de fragmentos de código reutilizáveis.
  • Construção de incorporações mais elaborados de código para detecção de plágio, previsão de nomes de métodos e variáveis e resumo de códigos.
  • Análise da dinâmica do estilo de codificação dos desenvolvedores.
  • Uso de dados históricos para ampliar as ferramentas de colaboração, por exemplo, por meio de sistemas recomendadores.
  • Detecção de anomalias no código.
  • Geração automatizada de código com base em descrições de linguagem natural, chamadas de API usadas etc.
  • Assistência para codificação automatizada tanto para estudantes quanto para desenvolvedores experientes, incluindo localização/correção de erros típicos, detecção e adoção de recursos IDE, intenção do usuário e análise de contexto.
  • Análise baseada em submissões de métodos de previsão de repositórios de código para alteração, localização de bugs e outros eventos.
  • Métodos para detecção automatizada de bugs e reparo de programas.

Nossas áreas atuais de interesse:

  • Detecção de defeitos na arquitetura orientada a objetos e sugestão automática de refatorações apropriadas que otimizem a estrutura do código.
  • Detecção de clones de código e criação de ferramentas para detecção automática e extração de fragmentos de código reutilizáveis.
  • Construção de incorporações mais elaboradas de código para detecção de plágio, previsão de nomes de métodos e variáveis, e resumo de código.
  • Análise da dinâmica do estilo de codificação dos desenvolvedores.
  • Uso de dados históricos para ampliar as ferramentas de colaboração, por exemplo, por meio de sistemas recomendadores.
  • Detecção de anomalias no código.
  • Geração automatizada de código com base em descrições de linguagem natural, chamadas de API usadas etc.
  • Assistência para codificação automatizada tanto para estudantes quanto para desenvolvedores experientes, incluindo localização/correção de erros típicos, detecção e adoção de recursos IDE, intenção do usuário e análise de contexto.
  • Análise baseada em submissões de previsão de alterações em repositórios de código, localização de bugs e outros eventos.
  • Métodos para detecção automatizada de bugs e reparo de programas.

Seminários

Realizamos seminários abertos e reuniões de clubes de leitura, onde apresentamos resultados interessantes, tanto nossos quanto de outros parceiros. Participe do grupo de meetups para manter-se informado sobre as próximas sessões.

Pode-se encontrar os registros dos seminários passados no nosso canal no YouTube.

Membros do Grupo

Timofey Bryksin
Chefe de Laboratório
Anastasia Birillo
Pesquisadora
Egor Bogomolov
Pesquisador Sênior
Mikhail Evtikhiev
Pesquisador
Yaroslav Golubev
Pesquisador Sênior
Artyom Lobanov
Pesquisador
Elena Lyulina
Pesquisadora
Oleg Smirnov
Pesquisador
Vladislav Tankov
Pesquisador Sênior
Sergey Titov
Pesquisador
Anastasia Tuchina
Pesquisadora
Ilya Vologin
Pesquisador
Igor Davidenko
Pesquisador
Alexandra Eliseeva
Pesquisadora
Denis Litvinov
Pesquisador
Olga Petrova
Pesquisadora
Maria Tigina
Pesquisadora
Anna Vlasova
Pesquisadora