My research focuses on programming languages, in particular,
their design, semantics, and correctness.
I am currently working on formalizing aspects of
the Julia language.
🇺🇦 As a Russian national, I strongly condemn the war started by the Russian government in Ukraine on February 24th, 2022.
Email: firstname.lastname@example.org (preferred)
Professional: github, researchgate, linkedin
Social: twitter, facebook
Current location (as of 2023): Lafayette, IN, USA
Book a meeting: calendly
If you have any questions or comments about projects, papers, or anything else mentioned on the website (e.g. international student experience), please, feel free to email me or submit your feedback using this Google form. I would be happy to answer questions that you might have, learn about what is unclear or confusing, or receive any other feedback.
I was born in 1991 in Russia, Rostov-on-Don, where I also grew up
and received education.
In 2012–2016, I was teaching undergraduate CS courses at my alma mater,
Faculty of Mathematics, Mechanics and Computer Science (Southern Federal University).
While teaching half-time, I had entered a PhD program as well but later moved to Northeastern where my PhD journey started over.
In 2017–2018, I spent a year at the Faculty of Information Technology (Czech Technical University in Prague) doing research with Jan Vitek.
In 2018–2023, I continued working with Jan Vitek during my PhD at Khoury College of Computer Sciences (Northeastern University) in Boston.
In 2023, I started a postdoc with Suresh Jagannathan at PurPL (Purdue University).
Education. PhD in Computer Science from Northeastern University.
Aug 2023: defended my PhD thesis at Northeastern University
Decidable Subtyping of Existential Types for the Julia Language
Oct 2021: invited talk at BCC (Boston Computation Club)
Types in Programming Languages Research vs Types in Julia
Sep 2021: accepted paper at OOPSLA 2021
Type Stability in Julia: Avoiding Performance Pathologies in JIT Compilation
My research largely focuses on the design, semantics, and correctness of programming languages. In particular, I am interested in making it easier for language users to understand the semantics of their programming language and write robust and correct software. My research interests also include type systems, compilers, software correctness, theorem proving (most of my experience has been with The Coq Proof Assistant), generic programming (like Java generics or ML polymorphism), programming by contracts, software testing, human aspects of programming languages and software engineering, and CS education.
For the last several years I have been working on formalizing various aspects of the Julia programming language:
- The notion of type stability and its impact on JIT compilation in Jules [OOPSLA 2021].
- The semantics of
and its interaction with
evalin a core calculus Juliette [OOPSLA 2020].
- The subtyping relation.
Disclaimer. Good or bad, the language has nothing to do with me, and our shared name is a coincidence!
Selected papers and talks
[ Talk ] POPV 2021
Julia: Language Design and Users Working TogetherVenue: Principles of Programming and Verification Seminar (Boston University). Boston, MA, USA. Online
Date: Oct 12, 2021
Language Support for Generic Programming in Object-Oriented Languages: Peculiarities, Drawbacks, Ways of Improvement