Tobias Wrigstad
Professor i datalogi vid Institutionen för informationsteknologi; Datalogi
- Telefon:
- 018-471 10 72
- Mobiltelefon:
- 073-697 14 19
- E-post:
- tobias.wrigstad@it.uu.se
- Besöksadress:
- Hus 10, Regementsvägen 10
- Postadress:
- Box 337
751 05 UPPSALA
Ladda ned kontaktuppgifter för Tobias Wrigstad vid Institutionen för informationsteknologi; Datalogi
- Akademiska meriter:
- Docent , Excellent lärare
- ORCID:
- 0000-0002-4269-5408
Kort presentation
Se wrigstad.com för en mer dynamisk bild av vad som händer i min verklighet.
Nyckelord
- programming languages
- parallel programming
- software engineering
- type systems
- concurrent programs
- memory management
Forskning
My research started in type systems for ownership and encapsulation, then moved away from types to dynamic programming languages (aka scripting languages), then combined these with types in gradual typing. I started working on actor languages, and then application of several of the results from my earlier type systems and ownership work to concurrency and parallelism in the form of capabilities, which were simpler yet more versatile. The quest for performance led me to garbage collection, memory management, and arrays.
My current research focuses on managed programming languages and their safe and efficient execution, through improved memory management techniques. There are several synergies with past work on capabilities as well as gradual typing which I mean to explore in the near future.
In addition to this, I have been studying scientific computing software from a software engineering perspective, which has led to large-scale analysis of code repositories of data science programs written predominantly in untyped languages, to find errors and support the development of correct, reusable, reproducable scientific computing.

Publikationer
Senaste publikationer
-
Dynamic Region Ownership for Concurrency Safety
Ingår i Proceedings of the ACM on Programming Languages, s. 1565-1590, 2025
- DOI för Dynamic Region Ownership for Concurrency Safety
- Ladda ner fulltext (pdf) av Dynamic Region Ownership for Concurrency Safety
-
PyErlang: A Stepping Stone towards Behaviour-Oriented Concurrency in Python (Keynote)
Ingår i Proceedings of the 24th ACM SIGPLAN International Workshop on Erlang, s. 1-1, 2025
-
Decoupling Isolation and Concurrency: An Actor-Centric View of Behaviour-Oriented Concurrency
Ingår i Concurrent Programming, Open Systems and Formal Methods, Springer, 2025
-
Ingår i Active Object Languages, s. 59-91, Springer Nature, 2024
-
Mark-Scavenge: Waiting for Trash to Take Itself Out
Ingår i Proceedings of the ACM on Programming Languages, 2024
- DOI för Mark-Scavenge: Waiting for Trash to Take Itself Out
- Ladda ner fulltext (pdf) av Mark-Scavenge: Waiting for Trash to Take Itself Out
Alla publikationer
Artiklar i tidskrift
-
Dynamic Region Ownership for Concurrency Safety
Ingår i Proceedings of the ACM on Programming Languages, s. 1565-1590, 2025
- DOI för Dynamic Region Ownership for Concurrency Safety
- Ladda ner fulltext (pdf) av Dynamic Region Ownership for Concurrency Safety
-
Mark-Scavenge: Waiting for Trash to Take Itself Out
Ingår i Proceedings of the ACM on Programming Languages, 2024
- DOI för Mark-Scavenge: Waiting for Trash to Take Itself Out
- Ladda ner fulltext (pdf) av Mark-Scavenge: Waiting for Trash to Take Itself Out
-
Scheduling Garbage Collection for Energy Efficiency on Asymmetric Multicore Processors
Ingår i The Art, Science, and Engineering of Programming, 2024
- DOI för Scheduling Garbage Collection for Energy Efficiency on Asymmetric Multicore Processors
- Ladda ner fulltext (pdf) av Scheduling Garbage Collection for Energy Efficiency on Asymmetric Multicore Processors
-
When Concurrency Matters: Behaviour-Oriented Concurrency
Ingår i Proceedings of the ACM on Programming Languages, s. 1531-1560, 2023
- DOI för When Concurrency Matters: Behaviour-Oriented Concurrency
- Ladda ner fulltext (pdf) av When Concurrency Matters: Behaviour-Oriented Concurrency
-
Reference Capabilities for Flexible Memory Management
Ingår i Proceedings of the ACM on Programming Languages, s. 1363-1393, 2023
- DOI för Reference Capabilities for Flexible Memory Management
- Ladda ner fulltext (pdf) av Reference Capabilities for Flexible Memory Management
-
Deep Dive into ZGC: A Modern Garbage Collector in OpenJDK
Ingår i ACM Transactions on Programming Languages and Systems, 2022
-
Jupyter Notebooks on GitHub: Characteristics and Code Clones
Ingår i The Art, Science, and Engineering of Programming, 2021
- DOI för Jupyter Notebooks on GitHub: Characteristics and Code Clones
- Ladda ner fulltext (pdf) av Jupyter Notebooks on GitHub: Characteristics and Code Clones
-
Graph-theoretic approaches and tools for quantitatively assessing curricula coherence
Ingår i European Journal of Engineering Education, s. 344-363, 2020
-
Reshape your layouts, not your programs: A safe language extension for better cache locality
Ingår i Science of Computer Programming, 2020
-
Quantitative analysis of curricula coherence using directed graphs
Ingår i IFAC-PapersOnLine, s. 318-323, 2019
-
Bestow and Atomic: Concurrent programming using isolation, delegation and grouping
Ingår i The Journal of logical and algebraic methods in programming, s. 130-151, 2018
-
OOlong: A Concurrent Object Calculus for Extensibility and Reuse
Ingår i ACM SIGAPP Applied Computing Review, s. 47-60, 2018
-
Orca: GC and Type System Co-design for Actor Languages
Ingår i Proceedings of the ACM on Programming Languages, s. 1-28, 2017
- DOI för Orca: GC and Type System Co-design for Actor Languages
- Ladda ner fulltext (pdf) av Orca: GC and Type System Co-design for Actor Languages
-
Type-assisted automatic garbage collection for lock-free data structures
Ingår i SIGPLAN notices, s. 14-24, 2017
-
Minimal Ownership for Active Objects
Ingår i Lecture Notes in Computer Science, 2008
-
To Err or Not to Err?: Subtle Interactions Between Parameters for Common Python Library Functions
Böcker
Kapitel i böcker, delar av antologi
-
Decoupling Isolation and Concurrency: An Actor-Centric View of Behaviour-Oriented Concurrency
Ingår i Concurrent Programming, Open Systems and Formal Methods, Springer, 2025
-
Ingår i Active Object Languages, s. 59-91, Springer Nature, 2024
-
Vats: A safe, reactive storage abstraction
Ingår i Theory and Practice of Formal Methods, s. 140-154, Springer, 2016
-
Ingår i Aliasing in Object-Oriented Programming, s. 512-513, Springer Berlin/Heidelberg, 2013
-
Beyond the Geneva Convention on the Treatment of Object Aliasing
Ingår i Aliasing in Object-Oriented Programming, s. 1-6, Springer Berlin/Heidelberg, 2013
-
Ingår i Aliasing in Object-Oriented Programming, s. 15-58, Springer Berlin/Heidelberg, 2013
Konferensbidrag
-
PyErlang: A Stepping Stone towards Behaviour-Oriented Concurrency in Python (Keynote)
Ingår i Proceedings of the 24th ACM SIGPLAN International Workshop on Erlang, s. 1-1, 2025
-
Dafny vs. Dala: Experience with Mechanising Language Design
Ingår i FTfJP 2024, s. 37-43, 2024
-
Ingår i Erlang 2024: Proceedings of the 23rd ACM SIGPLAN International Workshop on Erlang, s. 24-32, 2024
-
Mutator-Driven Object Placement using Load Barriers
Ingår i MPLR 2024: Proceedings of the 21st ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes, 2024
-
Reference Counting Deeply Immutable Data Structures with Cycles: An Intellectual Abstract
Ingår i Proceedings of the 2024 ACM Sigplan International Symposium on Memory Management, ISMM 2024, s. 131-141, 2024
- DOI för Reference Counting Deeply Immutable Data Structures with Cycles: An Intellectual Abstract
- Ladda ner fulltext (pdf) av Reference Counting Deeply Immutable Data Structures with Cycles: An Intellectual Abstract
-
Heap Size Adjustment with CPU Control
Ingår i PROCEEDINGS OF THE 20TH ACM SIGPLAN INTERNATIONAL CONFERENCE ON MANAGED PROGRAMMING LANGUAGES AND RUNTIMES, MPLR 2023, s. 114-128, 2023
- DOI för Heap Size Adjustment with CPU Control
- Ladda ner fulltext (pdf) av Heap Size Adjustment with CPU Control
-
Compressed Forwarding Tables Reconsidered
Ingår i MPLR '22, s. 45-63, 2022
- DOI för Compressed Forwarding Tables Reconsidered
- Ladda ner fulltext (pdf) av Compressed Forwarding Tables Reconsidered
-
Analysing and Predicting Energy Consumption of Garbage Collectors in OpenJDK
Ingår i MPLR '22, s. 3-15, 2022
- DOI för Analysing and Predicting Energy Consumption of Garbage Collectors in OpenJDK
- Ladda ner fulltext (pdf) av Analysing and Predicting Energy Consumption of Garbage Collectors in OpenJDK
-
Dala: A Simple Capability-Based Dynamic Language Design For Data-Race Freedom
Ingår i PROCEEDINGS OF THE 2021 ACM SIGPLAN INTERNATIONAL SYMPOSIUM ON NEW IDEAS, NEW PARADIGMS, AND REFLECTIONS ON PROGRAMMING AND SOFTWARE, ONWARD! 2021, 2021
-
ThinGC: complete isolation with marginal overhead
Ingår i ISMM 2020, s. 74-86, 2020
-
Improving Program Locality in the GC using Hotness
Ingår i PLDI 2020, s. 301-313, 2020
-
Ingår i Proc. 16th ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes, s. 144-156, 2019
-
Run, Actor, Run: Towards Cross-Actor Language Benchmarking
Ingår i AGERE 2019 Proceedings of the 9th ACM SIGPLAN International Workshop on Programming Based on Actors, Agents, and Decentralized Control, s. 41-50, 2019
- DOI för Run, Actor, Run: Towards Cross-Actor Language Benchmarking
- Ladda ner fulltext (pdf) av Run, Actor, Run: Towards Cross-Actor Language Benchmarking
-
Godot: All the Benefits of Implicit and Explicit Futures
Ingår i 33rd European Conference on Object-Oriented Programming (ECOOP 2019), 2019
- DOI för Godot: All the Benefits of Implicit and Explicit Futures
- Ladda ner fulltext (pdf) av Godot: All the Benefits of Implicit and Explicit Futures
-
Progress Report: Exploring API Design for Capabilities for Programming with Arrays
Ingår i Proceedings Of The 12Th Workshop On Implementation, Compilation And Optimization Of Object-Oriented Languages, Programs And Systems (ICOOOLPS' 19), 2019
-
Courses-Concepts-Graphs as a Tool to Measure the Importance of Concepts in University Programmes
Ingår i 2019 18th European Control Conference (ECC), s. 3076-3083, 2019
-
OOlong: An Extensible Concurrent Object Calculus
Ingår i SAC '18, s. 1022-1029, 2018
- DOI för OOlong: An Extensible Concurrent Object Calculus
- Ladda ner fulltext (pdf) av OOlong: An Extensible Concurrent Object Calculus
-
Parallel Programming With Arrays in Kappa
Ingår i 5th ACM SIGPLAN International Workshop on Libraries, Languages and Compilers for Array Programming, 2018
-
Attached and Detached Closures in Actors
Ingår i Proceedings of the 8th ACM SIGPLAN International Workshop on Programming Based on Actors, Agents, and Decentralized Control, s. 54-61, 2018
-
C♭: A New Modular Approach to Implementing Efficient and Tunable Collections
Ingår i Proceedings of the 2018 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software (Onward! 2018), s. 57-71, 2018
-
Safely Abstracting Memory Layouts
Ingår i 20th Workshop on Formal Techniques for Java-like Programs, 2018
-
Ingår i 13th Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems Workshop, 2018
-
Correctness of a concurrent object collector for actor languages
Ingår i Programming Languages and Systems, s. 885-911, 2018
-
Relaxed Linear References for Lock-free Data Structures
Ingår i 31st European Conference on Object-Oriented Programming (ECOOP 2017), 2017
- DOI för Relaxed Linear References for Lock-free Data Structures
- Ladda ner fulltext (pdf) av Relaxed Linear References for Lock-free Data Structures
-
You can have it all: abstraction and good cache performance
Ingår i Onward! 2017, s. 148-167, 2017
- DOI för You can have it all: abstraction and good cache performance
- Ladda ner fulltext (pdf) av You can have it all: abstraction and good cache performance
-
Mastery Learning-Like Teaching with Achievements
2017
-
Reference Capabilities for Concurrency & Scalability: an Experience Report
2017
-
Actors without Borders: Amnesty for Imprisoned State
s. 10-20, 2017
- DOI för Actors without Borders: Amnesty for Imprisoned State
- Ladda ner fulltext (pdf) av Actors without Borders: Amnesty for Imprisoned State
-
Mining for Safety using Interactive Trace Analysis
Ingår i Pre-Proceedings - Fifteenth International Workshop on Quantitative Aspects of Programming Languages and Systems, 2017
-
Spencer: Interactive Heap Analysis for the Masses
Ingår i 2017 IEEE/ACM 14th International Conference on Mining Software Repositories (MSR 2017), s. 113-123, 2017
- DOI för Spencer: Interactive Heap Analysis for the Masses
- Ladda ner fulltext (pdf) av Spencer: Interactive Heap Analysis for the Masses
-
Kappa: Insights, Current Status and Future Work
2016
-
Reference Capabilities for Concurrency Control
Ingår i ECOOP 2016 — Object-Oriented Programming, 2016
-
Types for CAS: Relaxed Linearity with Ownership Transfer
2016
-
Towards Enabling Low-Level Memory Optimisations at the High-Level with Ownership Annotations
2016
-
Parallel Objects for Multicores: A Glimpse at the Parallel Language ENCORE
Ingår i Formal Methods for Multicore Programming, s. 1-56, 2015
-
Measuring Polymorphism in Python Programs
Ingår i DLS 2015, s. 114-128, 2015
-
Refined Ownership: Fine-grained controlled internal sharing
Ingår i Formal Methods for Multicore Programming, s. 179-210, 2015
-
Disjointness Domains for Fine-Grained Aliasing
s. 989-916, 2015
-
The Joelle Programming Language: Evolving Java Programs Along Two Axes of Parallel Eval
2012
-
Multiple Aggregate Entry Points for Ownership Types
Ingår i ECOOP 2012 – Object-Oriented Programming, s. 156-180, 2012
-
Ingår i ECOOP 2012 – Object-Oriented Programming, s. 232-232, 2012
-
Is the World Ready for Ownership Types? Is Ownership Types Ready for the World?
2011
-
Regions as Owners: A Discussion on Ownership-based Effects in Practice
2011
-
Owners as Ombudsmen: Multiple Aggregate Entry Points for Ownership Types
2011
-
Ingår i Objects, Models, Components, Patterns, s. 97-116, 2010
-
Ingår i Proc. 1st International Conference on Systems, Programming, Languages, and Applications, s. 618-633, 2010