Laboratorio de métodos de aprendizaje automático en ingeniería de software

Las aplicaciones de ciencia de datos son cada vez más populares en muchos campos de investigación y del mundo profesional, incluida la ingeniería de software. Con este grupo, nuestro objetivo es fusionar las prácticas actuales de última generación en ambas áreas, mejorando las herramientas modernas de ingeniería de software y descubriendo nuevas formas de desarrollar y mantener el código.

Áreas de interés actuales:

  • Detección de defectos en la arquitectura orientada a objetos y recomendación automática de refactorizaciones adecuadas que optimizan la estructura del código.
  • Detección de clones de código y herramientas para la detección y extracción automáticas de fragmentos de código reutilizables.
  • Creación de incrustaciones de código más ricas para la detección de plagio, la predicción de nombres de métodos y variables, y la integración de código.
  • Análisis de la dinámica del estilo de codificación de los desarrolladores.
  • Utilización de datos históricos para aumentar las herramientas de colaboración, por ejemplo, a través de sistemas de recomendación.
  • Detección de anomalías en el código.
  • Generación automatizada de código a partir de descripciones de lenguaje natural, llamadas a API utilizadas, etc.
  • Asistencia automatizada a la codificación tanto para estudiantes como para desarrolladores experimentados, incluidos errores típicos de búsqueda/corrección, detección y adopción de características del IDE, intención del usuario y análisis de contexto.
  • Análisis basado en la confirmación de repositorios de código que predicen métodos para cambiar, ubicación de errores y otros eventos.
  • Métodos para la detección automatizada de errores y la reparación de programas.

Áreas de interés actuales:

  • Detección de defectos en la arquitectura orientada a objetos y sugerencia automática de refactorizaciones adecuadas que optimizan la estructura del código.
  • Detección de clones de código y creación de herramientas para la detección y la extracción automáticas de fragmentos de código reutilizables.
  • Creación de incrustaciones de código más ricas para la detección del plagio, la predicción de nombres de métodos y variables, y la integración de código.
  • Análisis de la dinámica del estilo de codificación de los desarrolladores.
  • Utilización de datos históricos para aumentar las herramientas de colaboración, por ejemplo, a través de sistemas de recomendación.
  • Detección de anomalías en el código.
  • Generación automatizada de código a partir de descripciones de lenguaje natural, llamadas a API utilizadas, etc.
  • Asistencia automatizada a la codificación tanto para estudiantes como para desarrolladores experimentados, incluidos errores típicos de búsqueda/corrección, detección y adopción de características del IDE, intención del usuario y análisis de contexto.
  • Análisis basado en la confirmación de repositorios de código que predicen cambios, ubicación de errores y otros eventos.
  • Métodos para la detección automatizada de errores y la reparación de programas.

Seminarios

Organizamos seminarios abiertos y clubs de lectura donde presentamos resultados interesantes, tanto propios como de otras personas. Únase a nuestro grupo de meetup para no perderse las próximas sesiones.

Las grabaciones de los seminarios anteriores están disponibles en el canal de YouTube.

Miembros del grupo

Timofey Bryksin
Responsable del laboratorio
Anastasia Birillo
Investigadora
Egor Bogomolov
Investigador sénior
Mikhail Evtikhiev
Investigador
Yaroslav Golubev
Investigador sénior
Artyom Lobanov
Investigador
Elena Lyulina
Investigadora
Oleg Smirnov
Investigador
Vladislav Tankov
Investigador sénior
Sergey Titov
Investigador
Anastasia Tuchina
Investigadora
Ilya Vologin
Investigador
Igor Davidenko
Investigador
Alexandra Eliseeva
Investigadora
Denis Litvinov
Investigador
Olga Petrova
Investigadora
Maria Tigina
Investigadora
Anna Vlasova
Investigadora