Jan Midtgaard

Computer scientist, PhD

Email: mail@janmidtgaard.dk
Skype: janmidtgaard
Profiles: DBLP
Google Scholar
Orcid
LinkedIn
Github

My research centers around programming languages and their implementation. I have a particular expertise in functional programming languages and program analyses based on abstract interpretation.

Short bio: I hold a PhD degree from BRICS, Department of Computer Science, University of Aarhus (AU). My supervisor was Olivier Danvy. During my education I visited Patrick Cousot's group at the Département d'Informatique at Ecole Normale Supérieure in Paris and professor Norman Ramsey at the Division of Engineering and Applied Sciences at Harvard University. After graduating I moved to Rennes in France to work at IRISA / INRIA Rennes - Bretagne Atlantique with Thomas P. Jensen in the Lande (now: Celtique) project. In 2009 I was supported by the Carlsberg Foundation as a post-doc initially with John P. Gallagher in the PLIS group at CBIT, Roskilde University and later back at AU with Michael I. Schwartzbach. I was at AU for a total of five years as lecturer and researcher in the Programming Languages group, for the last 1.5 years with Anders Møller at CASA. I now work with Hanne and Flemming Nielson in the Section for Formal Methods (formerly: Language-Based Technology) at DTU Compute at the Technical University of Denmark.

I'm married to practicing psychologist Vibeke Bie and we have two children. My Erdős number is (at most) 5.

News

Jul 2016: Revised the Lua Type Analysis implementation.
Jun 2016: The paper 'A Parametric Abstract Domain for Lattice-Valued Regular Expressions' with Nielson and Nielson is accepted to SAS 2016.
The paper 'Iterated Process Analysis over Lattice-Valued Regular Expressions' with Nielson and Nielson is accepted to PPDP 2016.
May 2016: I'm invited speaker for TAPAS'16 in Edinburgh
I'm again co-organizing DANSAS'16 in Odense this summer - join us!
Apr 2016: Started co-lecturing formal semantics in 'Computer Science Modelling'
Mar 2016: Participated in the Dagstuhl Seminar on 'Language Based Verification Tools for Functional Programs'.

Activities

Organization:

2016: SAS, ML, Quatic V&V track (PC-member), DANSAS (co-organizer)
2015: Scheme (PC-member)
2014: Neil D. Jones workshop (co-organizer)
2013: POPL (ERC-member), DANSAS (co-organizer)
2012: NSAD (PC co-chair), ICFP (PC-member), DANSAS (co-organizer)
2011: DSL, Scheme (PC-member), DANSAS (co-organizer)
2010: PEPM (PC-member), DANSAS (co-organizer)
2009: DANSAS (co-organizer)

Talks:

2016: Dagstuhl Seminar 16131
2015: ICST, LBT seminar@DTU, IDEA4CPS workshop
2014: IMDEA Software, DANSAS, Neil D. Jones workshop [video]
2013: PPDP, COPLAS seminar@ITU, PL seminar@AU
2012: SAS, CS colloquium@SDU, PL seminar@AU
2011: NII Shonan Meeting
2009: ICFP [video], Mini Workshop on CFA
2008: SAS, CS colloquium@SDU, COPLAS seminar@DIKU, DES seminar@AAU, PL seminar@AU,
...
Teaching and Supervision

I have taught and co-taught the following courses:

Furthermore I have (co-)supervised the following MSc thesis students:

Publications

A Parametric Abstract Domain for Lattice-Valued Regular Expressions
Jan Midtgaard, Flemming Nielson, Hanne Riis Nielson
To appear in Static Analysis, 23rd International Symposium (SAS 2016),
Lecture Notes in Computer Science, vol. 9837 © Springer-Verlag 2016, [full version pdf] [prototype]

Iterated Process Analysis over Lattice-Valued Regular Expressions
Jan Midtgaard, Flemming Nielson, Hanne Riis Nielson
To appear in the 18th International Symposium on Principles and Practice of Declarative Programming (PPDP 2016),
© ACM Press 2016, [full version pdf] [web client prototype] [source code]

Systematic Derivation of Correct Variability-Aware Program Analyses
Jan Midtgaard, Aleksandar S. Dimovski, Claus Brabrand, Andzrej Wąsowski
In Science of Computer Programming, volume 105, pp. 145-170, © Elsevier 2015, [DOI link]
Extended version of our MODULARITY'14-paper.

A Case Study in Modular Programming: Using AspectJ and OCaml in an Undergraduate Compiler Project
Aske Simon Christensen, Jan Midtgaard, Johnni Winther, Ian Zerny
AU E-book. Apr. 2015, [free AU link]

Quickchecking Static Analysis Properties
Jan Midtgaard, Anders Møller
In Proceedings of the 8th IEEE International Conference on Software Testing, Verification and Validation (ICST'15), Apr. 2015,
© IEEE 2015, [pdf]

Systematic Derivation of Static Analyses for Software Product Lines
Jan Midtgaard, Claus Brabrand, Andzrej Wąsowski
In Proceedings of the 13th International Conference on Modularity (MODULARITY 2014),
pp 181-192, © ACM Press 2014, [free ACM link]
Extended version available as ITU technical report TR-2014-170.

Engineering Definitional Interpreters
Jan Midtgaard, Norman Ramsey, Bradford Larsen
In Proceedings of the 15th International Symposium on Principles and Practice of Declarative Programming (PPDP 2013),
pp 121-132, © ACM Press 2013, [free ACM link] [Full version and source code]

Monadic Abstract Interpreters
Ilya Sergey, Dominique Devriese, Matthew Might, Jan Midtgaard, David Darais, Dave Clarke, Frank Piessens
In Proceedings of the 34th ACM SIGPLAN International Conference on Programming Language Design and Implementation (PLDI 2013)
pp 399-410, © ACM Press 2013, [free ACM link]

Handling Overflow in MLton
Alexander Bjerremand Hansen, Jan Midtgaard
In ACM SIGPLAN Workshop on ML, Sep. 2012, [pdf]

A Structural Soundness Proof for Shivers's Escape Technique: A Case for Galois Connections
Jan Midtgaard, Michael D. Adams, Matthew Might
In Static Analysis, 19th International Symposium (SAS 2012),
Lecture Notes in Computer Science, vol. 7460, 352-369, © Springer-Verlag 2012, [DOI link], [pdf]

Calculating Graph Algorithms for Dominance and Shortest Path
Ilya Sergey, Jan Midtgaard, Dave Clarke
In Mathematics of Program Construction (MPC 2012),
Lecture Notes in Computer Science, vol. 7342, pp 132-156, © Springer-Verlag 2012, [DOI link]

Dominance Analysis via Ownership Types and Abstract Interpretation
Ilya Sergey, Jan Midtgaard, Dave Clarke
Technical report, CW615, Katholieke Universiteit Leuven, December 2011.

Control-Flow Analysis of Function Calls and Returns by Abstract Interpretation
Jan Midtgaard, Thomas P. Jensen
In Information and Computation, volume 211, pp. 49-76, © Elsevier 2012, [DOI link]
Extended version of our ICFP'09-paper.

Flow-Sensitive Type Recovery in Linear-Log Time
Michael D. Adams, Andrew W. Keep, Jan Midtgaard, Matthew Might, Arun Chauhan, R. Kent Dybvig
In Proceedings of the 26th ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 2011)
pp 483-498, © ACM Press 2011, [free ACM link]

Technical Perspective: Abstracting Abstract Machines
Olivier Danvy, Jan Midtgaard
In Communications of the ACM, volume 54, number 9, pp. 100, © ACM Press 2011, [free ACM link]

Subcubic Control Flow Analysis Algorithms
Jan Midtgaard, David Van Horn
Accepted for publication in Higher-Order and Symbolic Computation
Older version available as Roskilde University computer science research report #125, May 2009, [pdf]

Control-Flow Analysis of Function Calls and Returns by Abstract Interpretation
Jan Midtgaard, Thomas P. Jensen
In Proceedings of the 14th ACM SIGPLAN International Conference on Functional Programming (ICFP'09),
pp 287-298, © ACM Press 2009, [free ACM link], [video]
Extended version available as INRIA research report RR-6681

A Calculational Approach to Control-flow Analysis by Abstract Interpretation
Jan Midtgaard, Thomas P. Jensen
In Static Analysis, 15th International Symposium (SAS 2008),
Lecture Notes in Computer Science, vol. 5079, pp 347-362, © Springer-Verlag 2008, [DOI link], [pdf]

Control-flow Analysis of Functional Programs
Jan Midtgaard
In ACM Computing Surveys, volume 44, issue 3, pp. 10:1-10:33, June 2012.
© ACM, 2010, [free ACM link]
[Additional material available here]. Older version available as BRICS technical report RS-07-18

Transformation, Analysis, and Interpretation of Higher-Order Procedural Programs
Jan Midtgaard
PhD Dissertation, Department of Computer Science, University of Aarhus, 2007

A Functional Correspondence between Monadic Evaluators and Abstract Machines for Languages with Computational Effects
Mads Sig Ager, Olivier Danvy, Jan Midtgaard
In Theoretical Computer Science, volume 342, issue 1, pp 149-172, © Elsevier 2005, [DOI link]
Extended version available as BRICS technical report RS-04-28

From Implicit to Explicit Contexts in Operational Semantics
Jan Midtgaard
PhD progress report, Department of Computer Science, University of Aarhus, 2004

A Functional Correspondence between Call-by-Need Evaluators and Lazy Abstract Machines
Mads Sig Ager, Olivier Danvy, Jan Midtgaard
In Information Processing Letters, volume 90, number 5, pp. 223-232, © Elsevier 2004, [DOI link]
Extended version available as BRICS technical report RS-04-3

From Interpreter to Compiler and Virtual Machine: a Functional Derivation
Mads Sig Ager, Dariusz Biernacki, Olivier Danvy, Jan Midtgaard
BRICS technical report RS-03-14

A Functional Correspondence between Evaluators and Abstract Machines
Mads Sig Ager, Dariusz Biernacki, Olivier Danvy, Jan Midtgaard
In Proceedings of the Fifth ACM-SIGPLAN International Conference on Principles and Practice of Declarative Programming (PPDP 2003),
pp 8-19, © ACM Press 2003, [free ACM link]
Also available as BRICS technical report RS-03-13

Valid HTML 4.01! Valid CSS! Use any browser!