News

[July 2016]The CFP for the workshop
on New Object Oriented Languages (NOOL) which is organised by
Roly Perera and myself is online!
The CFP is a play on OOPSLA'86, as was also the case with NOOL'15
organised by Alex Potanin and James Noble. The deadline is September 1st.Opinion pieces,
thoughts on object-oriented languages, new languages and new old languages, are welcome!

[July 2016]
An extended preprint of the LOLCAT paper (Castegren, Wrigstad — in submission) on types for lock-free programming
is available here.
The LOLCAT type system allows programmers to identify points of contention of lock-free
data structures, and guarantee (1) data-race freedom on all accesses outside of these
contention points; (2) effective atomicity of non-atomic operations on contended points
that involve reads and writes of multiple disjoint locations.

[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.

[May 2016]
Elias' and my position paper Kappa: Insights, Current Status and Future Work
has been accepted to IWACO 2016.

[May 2016]
I will be serving on the ECOOP'17 PC. Please consider submitting!

[May 2016]
Visiting Nobuko Yoshida and Sophia Drossopoulou at Imperial College in London.

[April 2016]
Visiting Imperial College in London for UPSCALE plenary meeting.

[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.

[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.

[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.

[Feb 2016]
I am co-organising the 7th IWACO (aliasing, capabilities and ownership) at
ECOOP'16 together with Paley Li.

Research

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.

Awards

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!