I was a PhD student at Uppsala University, Sweden. My advisor was Tobias Wrigstad, my co-advisor was Dave Clarke.

I was working on several projects:

  1. In the Structured Aliasing project (my main project), we developed Disjointness Domains (Abstract, Slides, Preprint), a novel type abstraction for alias control.
  2. I have built Spencer, a tool that makes it trivial for a wider audience to get insights about the behaviour of programs running on the JVM.
  3. I have built C♭, a domain-specific language to develop tree-like data structures that can be easily specialised, modularly and at runtime, to achieve performance close to (and sometimes much better for our micro-benchmarks) data structures that are much more heavily optimised (Abstract, Preprint, Paper).
  4. In the UPSCALE project, I have worked on the compiler and the runtime of the parallel OO+functional language called ‘Encore’ (Abstract, Preprint, Paper).

Publications

  1. C♭: A New Approach to Efficient and Tunable Collections - Stephan Brandauer, Elias Castegren, Tobias Wrigstad; Onward!’18 (project page with paper, and information)
  2. Spencer: Interactive Heap Analysis for the Masses - Stephan Brandauer, Tobias Wrigstad; International Conference on Mining Software Repositories 2017 (project page with paper, and information)
  3. Mining for Safety using Interactive Trace Analysis - Stephan Brandauer, Tobias Wrigstad; Workshop on Quantitative Analysis of Programming Languages 2017 (project page with paper, and information)
  4. Disjointness Domains for Fine-Grained Aliasing - Stephan Brandauer, Dave Clarke, Tobias Wrigstad; OOPSLA’15 (Abstract, Slides, Preprint)
  5. Parallel Objects for Multicores: A Glimpse at the Parallel Language Encore (Abstract, Preprint, Paper) - Stephan Brandauer, Elias Castegren, Dave Clarke, Francisco Fernández, Einar Broch Johnsen, Ka I Pun, S. Lizeth Tapia Tarifa, Tobias Wrigstad, and Albert Mingkun Yang; SFM’15 (15th International School on Formal Methods for the Design of Computer, Communication and Software Systems: Multicore Programming)
  6. Evolving Java Programs Along Two Axes of Parallel Eval (pdf) - Johan Östlund, Stephan Brandauer, Tobias Wrigstad; Languages for the Multi-core Era 2012 (co-located with ECOOP)

Supervision

  1. I supervised Erik Fransson’s bachelor thesis project on implementing asynchronous IO in Encore.

Community Effort

  1. ECOOP 2017 Artifact Evaluation Committee
  2. OOPSLA 2016 Artifact Evaluation Committee
  3. Annual Scala Workshop 2014 - local arrangements
  4. ECOOP 2014 - web master
  5. ECOOP 2014 - local organisation of student volunteer programme
  6. ECOOP 2013 - Student Volunteer