Magnus Madsen
magnusm@cs.au.dk
I am an associate professor at the Department of Computer Science at Aarhus University.
My research area is programming language design, compilers, and type and effect systems.
I am the lead developer of the Flix programming language.
You can reach me at magnusm@cs.au.dk. My office is in Turing-215.
My DBLP, Google Scholar, and GitHub profiles.
Highlights
- 2023: I received the Sapere Aude grant from the Independent Research Fund Denmark (DFF).
- 2022: I was awarded the Dahl-Nygaard (Junior) Prize at ECOOP '22.
- 2022: I received a STEM Grant from the Stibo Foundation.
- 2021: I received an Amazon Research Award together with Jaco van de Pol.
- 2020: I received a DFF Project One from the Independent Research Fund Denmark (DFF).
PhD Students
- Jonathan Lindegaard Starup (current)
- Matthew Lutze (current)
- Andreas Stenbæk Larsen (current, co-advised with Aslan Askarov)
- Caroline Palma Berger (current, co-advised with Clemens Klokmose)
Papers
-
AUTOMAP: Inferring Rank-Polymorphic Function Applications with Integer Linear Programming
(OOPSLA '24)
Robert Schenck, Nikolaj Hey Hinnerskov, Troels Henriksen, Magnus Madsen, Martin Elsman -
Associated Effects: Flexible Abstractions for Effectful Programming
(PLDI '24)
Matthew Lutze, Magnus Madsen -
Scientists and Code: Programming as a Tool
(PLATEAU '24)
Caroline Berger, Matthew Lutze, Niklas Elmqvist, Magnus Madsen, Clemens Nylandsted Klokmose -
Fast and Efficient Boolean Unification for Hindley-Milner-Style Type and Effect Systems
(OOPSLA '23)
Magnus Madsen, Jaco van de Pol, Troels Henriksen -
With or Without You: Programming with Effect Exclusion
(ICFP '23)
Matthew Lutze, Magnus Madsen, Philipp Schuster, Jonathan Brachthäuser -
Programming with Purity Reflection: Peaceful Coexistence of Effects, Laziness, and
Parallelism
(ECOOP '23)
(Distinguished Paper Award)
Magnus Madsen, Jaco van de Pol -
Restrictable Variants: A Simple and Practical Alternative to Extensible Variants
(ECOOP '23)
Magnus Madsen, Jonathan Starup Lindegaard, Matthew Lutze -
Breaking the Negative Cycle: Exploring the Design Space of Stratification for First‑Class
Datalog Constraints
(ECOOP '23)
Jonathan Starup Lindegaard, Magnus Madsen, Ondřej Lhoták -
The Principles of the Flix Programming Language
(Onward! '22)
Magnus Madsen -
Flix: A Meta Programming Language for Datalog
(Datalog 2.0 '22)
Magnus Madsen, Jonathan Starup Lindegaard, Ondřej Lhoták -
Relational Nullable Types with Boolean Unification
(OOPSLA '21)
Magnus Madsen, Jaco van de Pol -
Fixpoints for the Masses: Programming with First-Class Datalog Constraints
(OOPSLA '20)
Magnus Madsen, Ondřej Lhoták -
Polymorphic Types and Effects with Boolean Unification
(OOPSLA '20)
Magnus Madsen, Jaco van de Pol -
Fuzzing Channel-Based Concurrency Runtimes using Types and Effects
(OOPSLA '20)
Quentin Stievenart, Magnus Madsen -
A Semantics for the Essence of React
(ECOOP '20)
Magnus Madsen, Ondřej Lhoták, Frank Tip -
Finding Broken Promises in Asynchronous JavaScript Programs
(OOPSLA '18)
Saba Alimadadi, Di Zhong, Magnus Madsen, Frank Tip -
Implicit Parameters for Logic Programming
(PPDP '18)
Magnus Madsen, Ondřej Lhoták -
Safe and Sound Program Analysis with Flix
(ISSTA '18)
Magnus Madsen, Ondřej Lhoták -
Tail Call Elimination and Data Representation for Functional Languages on the Java Virtual
Machine
(CC '18)
Magnus Madsen, Ramin Zarifi, Ondřej Lhoták -
A Model for Reasoning About JavaScript Promises
(OOPSLA '17)
Magnus Madsen, Ondřej Lhoták, Frank Tip -
From Datalog to Flix: A Declarative Language for Fixed Points on Lattices
(PLDI '16)
Magnus Madsen, Ming-Ho Yee, Ondřej Lhoták -
Feedback-Directed Instrumentation for Deployed JavaScript Applications
(ICSE '16)
(Distinguished Paper Award)
Magnus Madsen, Frank Tip, Esben Andreasen, Koushik Sen, Anders Møller -
Static Analysis of Event-Driven Node.js JavaScript Applications
(OOPSLA '15)
Magnus Madsen, Frank Tip, Ondřej Lhoták -
Sparse Dataflow Analysis with Pointers and Reachability
(SAS '14)
Magnus Madsen, Anders Møller -
String Analysis for Dynamic Field Access
(CC '14)
Magnus Madsen, Esben Andreasen -
Practical Static Analysis of JavaScript Applications in the Presence of Frameworks
and Libraries
(FSE/ESEC '13)
Magnus Madsen, Benjamin Livshits, Michael Fanning -
Modeling the HTML DOM and Browser API in Static Analysis of JavaScript Web
Applications
(FSE/ESEC '11)
Simon Holm Jensen, Magnus Madsen, Anders Møller
Academic Service
- OOPSLA '25 , PC member
- PLDI '24 , PC member
- TyDe '23 , PC member
- ESEC/FSE '23 (Industry Track) , PC member
- ECOOP '22 , PC member
- ICSE '22 , PC member
- ISSTA '22 , PC member
- DLS '21 , PC member
- ICOOOLPS '21 , PC member
- OOPSLA '21 , ERC member
- PLDI '21 , PC member
- SCAM '21 , PC member
- ICOOOLPS '20 , PC member
- SCAM '20 , PC member
- MPLR '19 , PC member
- ECOOP '18 , PC member
- Declarative Program Analysis (DPA) Workshop '18 , '19 , Organizer
(Journals and minor workshops omitted.)
last updated December 30th, 2023