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
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
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
Alla publikationer
Artiklar i tidskrift
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
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
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
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
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
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
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
Parallel Programming With Arrays in Kappa
Ingår i 5th ACM SIGPLAN International Workshop on Libraries, Languages and Compilers for Array Programming, 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
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
Mastery Learning-Like Teaching with Achievements
2017
Reference Capabilities for Concurrency & Scalability: an Experience Report
2017
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
Measuring Polymorphism in Python Programs
Ingår i DLS 2015, s. 114-128, 2015
Parallel Objects for Multicores: A Glimpse at the Parallel Language ENCORE
Ingår i Formal Methods for Multicore Programming, s. 1-56, 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