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. (More info will be added soon)

Before that I was 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 am 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 .

Publications and Presentations

Community Service


During 2021 I was 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).

During 2019 I shared the lectures of a 7.5 ECTS credits course at KTH called Computer Hardware Engineering, given by David Broman.

During my PhD I was the main teaching assistant for IOOPM (see above), given by Tobias Wrigstad. In 2017, Tobias was voted teacher of the year by the CS and IT students!

During 2016 and 2017 I shared the lectures of another 20 ECTS credits course at Uppsala University called Program Design and Data Structures.

During my undergraduate studies I worked as a TA and certified Supplemental Instructions mentor for several courses on functional programming and algorithms.


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.