Research Groups

Agent Systems and Reinforcement Learning

Сreating new ways to train AI agents

Bioinformatics Group

Аpplying computer science methods to real-world biological and medical problems

BioLabs

Uncovering the fundamental epigenetic regulation mechanisms and their role in cell differentiation and aging

Concurrent Computing

Developing, verifying, testing, and benchmarking modern concurrent algorithms

Cryptographic Lab

The study and application of cryptographic methods for information protection

Cyber-Physical Systems Lab

Theoretical foundations, languages, and tools for developing control programs for cyber-physical systems

HoTT and Dependent Types Group

Creating a dependently typed language based on the homotopy type theory

Intelligent Collaboration Tools Lab

Studying collaborative processes in SE and beyond to enable next-generation collaboration tools

Learning Research Lab

Longitudinal research to discover what factors help to improve academic achievement and provide success in STEM careers

Machine Learning Applications and Deep Learning

Applications of state-of-the-art Machine Learning techniques to a multitude of different problems

Machine Learning Methods in Software Engineering

Merging best practices from both areas to create new ways to develop and improve code

Mobile Robot Algorithms Laboratory

Developing self-orientation algorithms for a mobile robot and solving the SLAM problem

Neurodevelopment and Neurophysiology Group

Simulation modeling of neural tissue development and involved cellular processes

Nuclear Physics Methods Laboratory

The laboratory develops instruments and methods for particle physics research and other similar fields

Optimization Problems in Software Engineering

Solving hard optimization problems in different areas of software engineering

Paper-Analyzer

Deep learning–based tool for knowledge extraction from scientific biomedical papers

Parameterized Algorithms Laboratory

Constructing exact algorithms for computationally challenging problems by the careful understanding of the structure of a typical input

Programming Languages and Tools Lab

Supporting fundamental research into programming languages and tools

Verification or Program Analysis Lab

Applying formal methods in software development to creating tools based on static analysis, verification, and program transformation