Skip to main content


Office Location

440 Huntington Avenue
330 West Village H
Boston, MA 02115


  • MS in Computer Science and Information Technologies, Southern Federal University —Russia
  • BS in Computer Science and Information Technologies, Southern Federal University — Russia

About Me

  • Hometown: Rostov-on-Don, Russia
  • Field of Study: Programming Languages
  • PhD Advisors: Jan Vitek


Julia Belyakova is a PhD Student studying programming languages at Northeastern University’s Khoury College of Computer Sciences, advised by Professor Jan Vitek. Her research interests include design and implementation of programming languages, type theory, generic programming, theorem provers, object-oriented and functional programming, algorithms, software engineering, and software testing.

Julia earned her Bachelor’s and Master’s degrees in Computer Science from Southern Federal University in Rostov-on-Don, Russia. From 2014 to 2016 she taught at I. I. Vorovich Institute of Mathematics, Mechanics and Computer Science, Southern Federal University. In 2016–2017 she worked as a research scientist, first at Northeastern University, and then at Czech Technical University in Prague, Czech Republic.

What are the specifics of your graduate education (thus far)?

I have been working on formalizing subtyping relation for the Julia programming language, which is an object-oriented language for scientific computing with a peculiar combination of language features.

What are your research interests?

I would like programming languages to be more reliable and safe, as almost every aspect of our life depends on the quality of software products. When I started my bachelor education, I did not think of research and wanted to become a programmer. But later I realized that I rather want to contribute to programming languages, not only use them.

What’s one problem you’d like to solve with your research/work?

I would like to make Julia’s foundations, including its subtyping relation, correct.

What aspect of what you do is most interesting?

It is fascinating how the Julia language, while being dynamically typed, picked up and mixed so many complex features typical for statically typed languages, and found a practical application for all of them. I would like to contribute to finding formal grounds for what Julia did, and thus make it more reliable.

What are your research or career goals, going forward?

I would like to continue research on programming languages, and I like teaching.

Where did you grow up or spend your most defining years?

In my native city Rostov-on-Don, in Russia.