I am a postdoc at Purdue University (West Lafayette, IN, USA).
I work with Suresh Jagannathan
at PurPL, the Purdue University Programming Language Group,
starting September 2023.
My research focuses on programming languages, in particular,
their design, semantics, and correctness.
Recently, I have been working on program analysis techniques for combining
over- and under-approximate reasoning in the context of symbolic execution.
My thesis work was about 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.
Contacts
Email: julbinb@gmail.com (preferred)
or ybelyako@purdue.edu
Professional: github,
researchgate, linkedin
Social: twitter, facebook
Current location (as of 2024): Lafayette, IN, USA
Office: 3154C, Lawson Computer Science Building
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, being a woman in CS)—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.
Short bio (full bio, personal)
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).
Recent professional news (without failures)
-
Nov 2024: accepted paper at POPL 2025
Derivative-Guided Symbolic Execution -
Aug 2024: joined the Review Committee of OOPSLA 2025
-
Apr 2024: accepted paper at PLDI 2024
Decidable Subtyping of Existential Types for Julia -
Apr 2024: joined the Program Committee of Scheme 2024
-
Feb 2024: joined the Program Committee of TyDE 2024
-
Jan 2024: joined the Program Committee of ARRAY 2024
-
Nov 2023: talk at PurPL Seminar
Julia: Practical Restrictions for a Scientific-Computing Language -
Aug 2023: defended my PhD thesis at Northeastern University
Decidable Subtyping of Existential Types for the Julia Language
Research
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, program analysis, 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.
Most recently, I have been working on program analysis, in particular, on extending symbolic execution with symbolic finite automata (POPL 2025) and enabling symbolic execution to reason about over-approximate information (work in progress).
During my PhD, I worked 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
world age
and its interaction with
eval
in a core calculus Juliette [OOPSLA 2020]. - The subtyping relation.
- A reconstruction of subtyping in LambdaJulia [OOPSLA 2018].
- A semantic subtyping model suitable for a dynamic programming language [FTfJP 2019, Appendix A.2 of PhD thesis].
- Decidable subtyping [PhD thesis] [PLDI 2024]
Disclaimer. Good or bad, the language has nothing to do with me, and our shared name is a coincidence!
My previous research was related to language support for generic programming in object-oriented languages [SBLP 2016, SYRCoSE 2015].
Selected papers and talks
-
PLDI 2024
Decidable Subtyping of Existential Types for JuliaAuthors: Julia Belyakova, Benjamin Chung, Ross Tate, Jan Vitek
DOI: 10.1145/3656421
Venue: Proc. ACM Program. Lang., Volume 8, PLDI, Article 191 (24 pages)
Reviews
-
[ 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
-
OOPSLA 2020
World Age in Julia: Optimizing Method Dispatch in the Presence of EvalAuthors: Julia Belyakova, Benjamin Chung, Jack Gelinas, Jameson Nash, Ross Tate, Jan Vitek
DOI: 10.1145/3428275
Venue: Proc. ACM Program. Lang., Volume 4, OOPSLA, Article 207 (26 pages)
Reviews
-
VIS 2020 (short paper)
Just TYPEical: Visualizing Common Function Type Signatures in RAuthors: Cameron Moy, Julia Belyakova, Alexi Turcotte, Sara Di Bartolomeo, Cody Dunne
DOI: 10.31219/osf.io/pyqac
Venue: IEEE Visualization Conference 2020, Short Papers, OSF Preprints (5 pages)
-
OOPSLA 2018
Julia Subtyping: A Rational ReconstructionAuthors: Francesco Zappa Nardelli, Julia Belyakova, Artem Pelenitsyn, Benjamin Chung, Jeff Bezanson, Jan Vitek
DOI: 10.1145/3276483
Venue: Proc. ACM Program. Lang., Volume 2, OOPSLA, Article 113 (28 pages)
-
SBLP 2016
Language Support for Generic Programming in Object-Oriented Languages: Peculiarities, Drawbacks, Ways of ImprovementAuthors: Julia Belyakova
DOI: 10.1007/978-3-319-45279-1_1
Venue: LNCS Programming Languages: 20th Brazilian Symposium on Programming Languages, Volume 9889, Article 1 (15 pages)