1. [May 2016] The paper Towards Enabling Low-Level Memory Optimisations at the High-Level with Ownership Annotations with Juliana Franco and Sophia Drossopoulou has been accepted to IWACO 2016.
  2. [May 2016] Elias' and my position paper Kappa: Insights, Current Status and Future Work has been accepted to IWACO 2016.
  3. [May 2016] I will be serving on the ECOOP'17 PC.
  4. [May 2016] Visiting Nobuko Yoshida and Sophia Drossopoulou at Imperial College in London.
  5. [April 2016] Visiting Imperial College in London for UPSCALE plenary meeting.
  6. [March 2016] Presented preliminary work together with Stephan Brandauer on unearthing structural and behavioural properties of object-oriented programs, and work with Elias Castegren on reference capabilities for lock-free programming at the ECOOP 2016 PC meeting in Providence, RI.
  7. [March 2016] Elias' paper Reference Capabilities for Concurrency Control accepted for ECOOP 2016.
  8. [March 2016] The NOOL-1 workshop on New Object-Oriented Languages was accepted for OOPSLA 2016. I will be organising this workshop together with Roly Perera.
  9. [March 2016] Vats: A Safe, Reactive Storage Abstraction, a paper in the honour of Frank S. de Boer, written with Dave Clarke, is now published in Theory and Practice of Formal Methods, volume 9660 of LNCS.
  10. [Feb 2016] I am co-organising the 7th IWACO (aliasing, capabilities and ownership) at ECOOP'16 together with Paley Li.
  11. [Oct 2015] Hosted the Nth plenary meeting for the UPSCALE project at Uppsala University.
  12. [Sept 2015] I will be speaking at NOOL about Inversion in Programming Language Design: The Encore Way, following joint work with Dave Clarke, Nobuko Yoshida, Frank S. de Boer and Einar Broch Johnsen.
  13. [July 2015] Stephan's paper Disjointness Domains was accepted to OOPSLA 2015.
  14. [June 2015] I am attending SFM'15 where I will be speaking about the Encore programming language, and our recent works on reference capabilities for concurrency control.

Teaching in 2016

  1. [Fall Semester] teaching all of 20 credit course, Introduction to Imperative and Object-Oriented Programming Methodology for CS bachelors and at Uppsala University.
  2. [Fall Semester] teaching one module on task-based parallelism on 10 credit course Language Abstractions for Concurrent and Parallel Programming CS masters and IT engineers at Uppsala University.


See below for a capsule summary of my current and past research projects.

Ongoing Projects

  • UpScale's vision is to provide programming language support to efficiently develop applications that seamlessly scale to the available parallelism of manycore chips without abandoning the object-oriented paradigm and the associated software engineering methodologies. UpScale explores an “inversion” of the current canonical language design through the Encore language: constructs facilitating concurrent computation are default while constructs facilitating synchronised and sequential computation need to be explicitly expressed. [Funded by: EU FP7]
  • The Structured Aliasing project searches for a theory and practise of structured aliasing to lift alias management over low-level operations such as assigning individual references to objects and maintain encapsulation on a per-reference basis, and let programmers create and maintain object graphs and express alias properties in their programs in an explicated, clear and enforceable way. [Funded by: Swedish Research Council]
  • The UPMARC centre of excellence on programming for multicore architectures funded Johan Östlund, who recently graduated. Johan developed the actor-based language Joelle, among the first actor languages to use types to achieve isolation, and lifted a single thread of control abstraction for actors in a data-race free way. Johan graduated in January 2016. UPMARC also funds Elias Castegren, who is working on reference capabilities to simplify concurrent programming. Elias' work includes the first type system to support lock-free programming with linear references. [Funded by: Swedish Research Council, I am not a PI]

Past Projects

  • The Loci project developed a simple static checker for thread-locality for Java-like languages. Thread-locality is a strong and useful property as it allows sequential reasoning. The initial work was developed during my postdoc at Purdue, and continued as a series of master theses (Amanj Sherwany, Nosheen Zaza) at Uppsala Univerisity.
  • The Thorn project developed a dynamically-typed concurrent language in which lightweight isolated processes communicated by message passing. This was a joint project between IBM Research and Purdue University. Thorn was also a playground for like types, a form of gradual types, which are based in nominal types (for programmer understanding), and strikes a good balance between performance and flexibility.


2012 AITO Dahl-Nygaard Junior Prize:

In 2012, I was the recipient of the Dahl-Nygaard Award. Below is an excerpt from the full statute: Tobias Wrigstad has been a very active researcher in areas of programming language design that involve the interplay between types and topics that are not typically included under that heading. In particular, he has contributed substantially to many papers about ownership types, he has worked on a variant of virtual types in connection with the language Tribe, and recently in 'Integrating typed and untyped code in a scripting language', POPL 2010, he helped creating the foundation for a new intermediate form between static and dynamic typing, which is used in the language Thorn. Tobias Wrigstad is also a highly active contributor to the community, having served on more than a dozen program committees including ECOOP, POPL, and OOPSLA, having co-organized many workshops and several student related activities at major conferences, and being a member of several steering committees.

2015 AITO Recognition Service Award:

In conjunction with ECOOP'15, I received a Recognition Service Award by AITO for my community services as the main organiser of ECOOP 2014. ECOOP 2014 had over 240 participants. My proudest achievement in conjunction with the organisation is instigating the change to AITO setting up its own merchant account, making it easier for all future ECOOP organisers to collect participant fees but also to pay European taxes. Go AITO!

Community Service

Programme Committees

  1. [2016] ECOOP, IWACO, OOPSLA (EPC), Dahl-Nygaard Award Committee
  2. [2015] OOPSLA, PLDI (ERC), STOP, Dahl-Nygaard Award Committee
  3. [2014] FOOL
  4. [2013] POPL, SCALA
  5. [2012] ECOOP
  6. [2011] OOPSLA, IWACO, FTFJP
  7. [2010] LDTA, CATS
  8. [2009] STOP (Chair), IWACO, DLS
  10. [2007] IWACO (Chair)

Event Organisation

  1. [2016] Workshop organiser NOOL @ OOPSLA in Amsterdam, NL and IWACO @ ECOOP in Rome IT, Sponsor Co-Chair @ OOPSLA, Workshop PC @ OOPSLA
  2. [2015] Summer School Co-Organiser: Formal Methods for the Design of Computer, Communication and Software Systems: Multicore Programming in Bertinoro, Italy
  3. [2014] General Chair (main organiser) for ECOOP in Uppsala, Sweden.
  4. [2014] Chair of Student Activities, POPL in San Diego, USA
  5. [2013] Chair of Student Activities, POPL in Rome, Italy
  6. [2012] Chair of Student Activities, POPL in Philadelphia, USA
  7. [2011] Main Organiser of UPMARC Summer School on Concurrent and Parallel Programming
  8. [2011] Workshop organiser STOP @ POPL in Austin, Texas USA
  9. [2009] Workshop organiser STOP @ ECOOP in Genoa, Italy
  10. [2007] Workshop organiser IWACO @ ECOOP in Berlin, Germany

Steering Committees and Other Memberships

  1. IWACO (aliasing, capabilities, ownership) Steering Committee (2008–)
  2. STOP (script to program evolution) Steering Committee (2009–)
  3. AITO member (2015–)

Contact Info


Visiting Address:
Department of Information Technology
Polacksbacken (Lägerhyddsvägen 2)