- 2006 – 2012 Saint Petersburg State University, master's degree in Information Technology, thesis: Automated transformation of dynamic SQL queries in information system reengineering.
- 2012 – 2016 Ph.D. student at Saint Petersburg State University. PhD thesis: Parsing of dynamically generated code.
- 2013 – 2017 Senior Lecturer at the Saint Petersburg State University.
- 2012 – to date researcher at JetBrains.
- 2017 – to date Associate Professor at the Saint Petersburg State University.
Formal languages theory and applications (for biology, graph databases, static code analysis), formal grammars and other languages specification formalisms, parallel and asynchronous computations.
- Formal Language Theory
- Graph Theory
- Algorithms and Data Structures
- Practice of Programming
- Russian Science Foundation grant 18-11-00100 (2018-today)
- Russian Foundation for Basic Research grant 18-01-00380 А (2018-today)
- Russian Foundation for Basic Research grant 15-01-05431 А (2015-2017)
Proceedings of the 12th International Joint Conference on Biomedical Engineering Systems and Technologies - BIOINFORMATICS, March 2019
We propose a way to combine formal grammars and artificial neural networks for biological sequences processing. Formal grammars encode the secondary structure of the sequence and neural networks deal with mutations and noise. In contrast to the classical way, when probabilistic grammars are used for secondary structure modeling, we propose to use arbitrary (not probabilistic) grammars which simplifies grammar creation. Instead of modeling the structure of the whole sequence, we create a grammar which only describes features of the secondary structure. Then we use matrix-based parsing to extract features: the fact that some substring can be derived from some nonterminal is a feature. After that, we use a dense neural network to process features.
Extended abstract at TyDe 2018 (at ICFP).
Proceedings of the 9th ACM SIGPLAN International Symposium on Scala, September 2018
Transparent integration of a domain-specific language for specification of context-free path queries (CFPQs) into a general-purpose programming language as well as static checking of errors in queries may greatly simplify the development of applications using CFPQs. LINQ and ORM can be used for the integration, but they have issues with flexibility: query decomposition and reusing of subqueries are a challenge. Adaptation of parser combinators technique for paths querying may solve these problems. Conventional parser combinators process linear input, and only the Trails library is known to apply this technique for path querying. We demonstrate that it is possible to create general parser combinators for CFPQ which support arbitrary context-free grammars and arbitrary input graphs. We implement a library of such parser combinators and show that it is applicable for realistic tasks.
Programming Languages and Tools Lab Head of group, researcher
- Formal Grammars and Languages
- Syntax Analysis
- Parsing Algorithms