Elias Castegren

A picture of a handsome researcher

Assistant Professor at Uppsala University


I am an assistant professor at Uppsala University, working on programming languages, semantics and type systems. I am involved in the Verona project together with Microsoft Research.

I used to be a post-doc researcher in David Broman’s group at KTH, working on heterogeneous model compilers and semantics. I am currently involved in two projects; one relating to composition of language semantics, and one relating to full-stack verification of programs synthesized from timed automata.

I did my PhD with Tobias Wrigstad and Dave Clarke at Uppsala University. There, I did research on type systems for controlling aliasing and preventing data-races in concurrent and parallel programs.

From April to July in 2018, I did an internship at Microsoft Research in Cambridge, working together with Matthew Parkinson and David Chisnall on compiler-based mitigation of the Spectre attacks.

I was one of the main contributors to Encore, a highly concurrent object-oriented programming language. Encore’s type system guarantees the absence of data-races and is based on my work on Kappa .

I am always interested in discussing collaboration!

Publications and Presentations

Community Service


Since 2021 I am the main teacher of a second year 20 ECTS credits course at Uppsala University called Imperative and Object-Oriented Programming Methodology (or IOOPM for short). In 2021 I was the proud recipient of the Union of Engineering and Science Student’s Teaching Award!

Previous courses taught include:


I am currently co-supervising the following PhD students:

I am currently supervising the following bachelor thesis projects:

I have supervised the following master thesis projects:

I have supervised the following bachelor thesis projects:


I spend a lot of my free time on listening to and creating music.