Research
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:
- In the Structured Aliasing project (my main project), we developed Disjointness Domains (Abstract, Slides, Preprint), a novel type abstraction for alias control.
- 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.
- 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).
- 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
- C♭: A New Approach to Efficient and Tunable Collections - Stephan Brandauer, Elias Castegren, Tobias Wrigstad; Onward!’18 (project page with paper, and information)
- Spencer: Interactive Heap Analysis for the Masses - Stephan Brandauer, Tobias Wrigstad; International Conference on Mining Software Repositories 2017 (project page with paper, and information)
- 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)
- Disjointness Domains for Fine-Grained Aliasing - Stephan Brandauer, Dave Clarke, Tobias Wrigstad; OOPSLA’15 (Abstract, Slides, Preprint)
- 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)
- 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
- I supervised Erik Fransson’s bachelor thesis project on implementing asynchronous IO in Encore.
Community Effort
- ECOOP 2017 Artifact Evaluation Committee
- OOPSLA 2016 Artifact Evaluation Committee
- Annual Scala Workshop 2014 - local arrangements
- ECOOP 2014 - web master
- ECOOP 2014 - local organisation of student volunteer programme
- ECOOP 2013 - Student Volunteer