Machine Learning Methods in Software Engineering Lab

Applications of data science are growing in popularity in many fields of research and industry, including software engineering. With this group, we aim to merge current state-of-the-art practices in both areas, by improving modern software engineering tools and discovering new ways to develop and maintain code.

Our current areas of interest:

  • Detecting defects in object-oriented architecture and automatic recommendation of appropriate refactorings that optimize code structure.
  • Code clones detection and tools for automatic detection and extraction of reusable code fragments.
  • Building richer embeddings of code for plagiarism detection, method and variable name prediction, and code summarization.
  • Analysis of dynamics of developers’ coding style.
  • Utilizing historical data to augment collaboration tools, e.g. through recommender systems.
  • Anomaly detection on code.
  • Automated code generation from natural language descriptions, API calls used, etc.
  • Automated coding assistance both for students and seasoned developers, including finding/fixing typical errors, IDE feature discovery and adoption, user intent and context analysis.
  • Commit-based analysis of code repositories predicting methods to change, bugs location, and other events.
  • Methods for automated bug detection and program repair.

Our current areas of interest:

  • Detecting defects in object-oriented architecture and automatic suggestion of appropriate refactorings that optimize code structure.
  • Detecting code clones and creating tools for automatic detection and extraction of reusable code fragments.
  • Building richer embeddings of code for plagiarism detection, method and variable name prediction and code summarization.
  • Analysis of developers’ coding style dynamics.
  • Utilizing historical data to augment collaboration tools, e.g. through recommender systems.
  • Anomaly detection in code.
  • Automated code generation from natural language descriptions, API calls used, etc.
  • Automated coding assistance both for students and seasoned developers, including finding/fixing typical errors, IDE feature discovery and adoption, user intent and context analysis.
  • Commit-based analysis of code repositories predicting changes, locations of bugs, and other events.
  • Methods for automated bug detection and program repair.

Seminars

We host open seminars and reading club meetings where we present interesting results of our own and others. Please join our meetup group to stay informed about upcoming sessions.

Records of past seminars can be found in the YouTube channel.

Group Members

Timofey Bryksin
Head of Research Lab
Danny Dig
Scientific Consultant
Maksim Sheptyakov
Product Manager
Olga Galchenko
Project Manager
Egor Bogomolov
Senior Researcher
Yaroslav Golubev
Senior Researcher
Rauf Kurbanov
Senior Researcher
Vladislav Tankov
Senior Researcher
Mikhail Arkhipov
Researcher
Elizaveta Artser
Researcher
Anastasia Birillo
Researcher
Alexandra Eliseeva
Researcher
Mikhail Evtikhiev
Researcher
Timur Galimzyanov
Researcher
Evgeniy Glukhov
Researcher
Evgeny Grigorenko
Researcher
Konstantin Grotov
Researcher
Yury Khudyakov
Researcher
Zarina Kurbatova
Researcher
Denis Litvinov
Researcher
Anna Potriasaeva
Researcher
Agnia Sergeyuk
Researcher
Anton Shapkin
Researcher
Oleg Smirnov
Researcher
Maria Tigina
Researcher
Sergey Titov
Researcher
Timofei Vasilevskii
Researcher
Ilya Vlasov
Researcher
Yaroslav Zharov
Researcher
Dariia Karaeva
Software Developer
Vladimir Poliakov
Software Developer