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

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'.
Feb 2016: I'm on the PC of Quatic's V&V track.
Jan 2016: I'm on the SAS'16 and ML'16 program committees. Submit your static analysis and FP papers!
Dec 2015: I'm offering a 3-week January course on QuickCheck at DTU.
Nov 2015: Participated in the annual IDEA4CPS workshop in Beijing.
Sep 2015: Revised the Lua Type Analysis implementation.
Aug 2015: Started co-lecturing Program Analysis with Hanne Riis Nielson at DTU.
May 2015: The paper 'Systematic Derivation of Correct Variability-Aware Program Analyses' appears in Science of Computer Programming.
Apr. 2015: Now available as a free AU e-book:
'A Case Study in Modular Programming: Using AspectJ and OCaml in an Undergraduate Compiler Project'.

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

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!