Magnus Madsen

magnusm@cs.au.dk

Photo of Magnus Madsen

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

PhD Students

Papers
  1. Overloading the Dot (CC '25)
    Joseph Tan, Magnus Madsen
  2. AUTOMAP: Inferring Rank-Polymorphic Function Applications with Integer Linear Programming (OOPSLA '24)
    Robert Schenck, Nikolaj Hey Hinnerskov, Troels Henriksen, Magnus Madsen, Martin Elsman
  3. Associated Effects: Flexible Abstractions for Effectful Programming (PLDI '24)
    Matthew Lutze, Magnus Madsen
  4. Scientists and Code: Programming as a Tool (PLATEAU '24)
    Caroline Berger, Matthew Lutze, Niklas Elmqvist, Magnus Madsen, Clemens Nylandsted Klokmose
  5. Fast and Efficient Boolean Unification for Hindley-Milner-Style Type and Effect Systems (OOPSLA '23)
    Magnus Madsen, Jaco van de Pol, Troels Henriksen
  6. With or Without You: Programming with Effect Exclusion (ICFP '23)
    Matthew Lutze, Magnus Madsen, Philipp Schuster, Jonathan Brachthäuser
  7. Programming with Purity Reflection: Peaceful Coexistence of Effects, Laziness, and Parallelism (ECOOP '23)
    (Distinguished Paper Award)
    Magnus Madsen, Jaco van de Pol
  8. Restrictable Variants: A Simple and Practical Alternative to Extensible Variants (ECOOP '23)
    Magnus Madsen, Jonathan Starup Lindegaard, Matthew Lutze
  9. 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
  10. The Principles of the Flix Programming Language (Onward! '22)
    Magnus Madsen
  11. Flix: A Meta Programming Language for Datalog (Datalog 2.0 '22)
    Magnus Madsen, Jonathan Starup Lindegaard, Ondřej Lhoták
  12. Relational Nullable Types with Boolean Unification (OOPSLA '21)
    Magnus Madsen, Jaco van de Pol
  13. Fixpoints for the Masses: Programming with First-Class Datalog Constraints (OOPSLA '20)
    Magnus Madsen, Ondřej Lhoták
  14. Polymorphic Types and Effects with Boolean Unification (OOPSLA '20)
    Magnus Madsen, Jaco van de Pol
  15. Fuzzing Channel-Based Concurrency Runtimes using Types and Effects (OOPSLA '20)
    Quentin Stievenart, Magnus Madsen
  16. A Semantics for the Essence of React (ECOOP '20)
    Magnus Madsen, Ondřej Lhoták, Frank Tip
  17. Finding Broken Promises in Asynchronous JavaScript Programs (OOPSLA '18)
    Saba Alimadadi, Di Zhong, Magnus Madsen, Frank Tip
  18. Implicit Parameters for Logic Programming (PPDP '18)
    Magnus Madsen, Ondřej Lhoták
  19. Safe and Sound Program Analysis with Flix (ISSTA '18)
    Magnus Madsen, Ondřej Lhoták
  20. Tail Call Elimination and Data Representation for Functional Languages on the Java Virtual Machine (CC '18)
    Magnus Madsen, Ramin Zarifi, Ondřej Lhoták
  21. A Model for Reasoning About JavaScript Promises (OOPSLA '17)
    Magnus Madsen, Ondřej Lhoták, Frank Tip
  22. From Datalog to Flix: A Declarative Language for Fixed Points on Lattices (PLDI '16)
    Magnus Madsen, Ming-Ho Yee, Ondřej Lhoták
  23. Feedback-Directed Instrumentation for Deployed JavaScript Applications (ICSE '16)
    (Distinguished Paper Award)
    Magnus Madsen, Frank Tip, Esben Andreasen, Koushik Sen, Anders Møller
  24. Static Analysis of Event-Driven Node.js JavaScript Applications (OOPSLA '15)
    Magnus Madsen, Frank Tip, Ondřej Lhoták
  25. Sparse Dataflow Analysis with Pointers and Reachability (SAS '14)
    Magnus Madsen, Anders Møller
  26. String Analysis for Dynamic Field Access (CC '14)
    Magnus Madsen, Esben Andreasen
  27. Practical Static Analysis of JavaScript Applications in the Presence of Frameworks and Libraries (FSE/ESEC '13)
    Magnus Madsen, Benjamin Livshits, Michael Fanning
  28. 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

(Journals and minor workshops omitted.)


last updated January 1st, 2025