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