Book:
Lecture notes:
Research papers (most recent first):
Other publications:
The papers distributed here have been provided by the contributing
authors as a means to ensure timely dissemination of scholarly and
technical work on a noncommercial basis. Copyright and all rights
therein are maintained by the authors or by other copyright holders,
notwithstanding that they have offered their works here
electronically. It is understood that all persons copying this
information will adhere to the terms and constraints invoked by each
author's copyright. These works may not be reposted without the
explicit permission of the copyright holder.
An Introduction to XML and Web Technologies (with Michael I. Schwartzbach) January 2006, Addison-Wesley [web site | BibTeX] |
Lecture notes:
Static Program Analysis (with Michael I. Schwartzbach) Aarhus University [web site | BibTeX] |
Research papers (most recent first):
Automated Verification of Parametric Channel-Based Process Communication (with Georgian-Vlad Saioc and Julien Lange) OOPSLA 2024 [abstract | PDF | BibTeX] | ||
Indirection-Bounded Call Graph Analysis (with Madhurima Chakraborty, Aakash Gnanakumar and Manu Sridharan) ECOOP 2024 [abstract | PDF | BibTeX] | ||
Reducing Static Analysis Unsoundness with Approximate Interpretation (with Mathias Rud Laursen and Wenyuan Xu) PLDI 2024 [abstract | PDF | BibTeX] | ||
Detecting Blocking Errors in Go Programs using Localized Abstract Interpretation (with Oskar Haarklou Veileborg and Georgian-Vlad Saioc) ASE 2022 (ACM SIGSOFT Distinguished Paper) [abstract | PDF | BibTeX] | ||
Modular Call Graph Construction for Security Scanning of Node.js Applications (with Benjamin Barslev Nielsen and Martin Toldam Torp) ISSTA 2021 [abstract | PDF | BibTeX | video] | ||
Semantic Patches for Adaptation of JavaScript Programs to Evolving Libraries (with Benjamin Barslev Nielsen and Martin Toldam Torp) ICSE 2021 [abstract | PDF | BibTeX] | ||
Eliminating Abstraction Overhead of Java Stream Pipelines using Ahead-of-Time Program Optimization (with Oskar Haarklou Veileborg) OOPSLA 2020 [abstract | PDF | BibTeX | video] | ||
Detecting Locations in JavaScript Programs Affected by Breaking Library Changes (with Benjamin Barslev Nielsen and Martin Toldam Torp) OOPSLA 2020 [abstract | PDF | BibTeX | video] | ||
Value Partitioning: A Lightweight Approach to Relational Static Analysis for JavaScript (with Benjamin Barslev Nielsen) ECOOP 2020 [abstract | PDF | BibTeX | video ] | ||
A Principled Approach to Selective Context Sensitivity for Pointer Analysis (with Yue Li, Tian Tan, and Yannis Smaragdakis) ACM Transactions on Programming Languages and Systems extended version of Precision-Guided Context Sensitivity for Pointer Analysis, OOPSLA 2018 [abstract | PDF | BibTeX] | ||
Extracting Taint Specifications for JavaScript Libraries (with Cristian-Alexandru Staicu, Martin Toldam Torp, Max Schaefer, and Michael Pradel) ICSE 2020 [abstract | PDF | BibTeX | video] | ||
NodeRacer: Event Race Detection for Node.js Applications (with Andr Takeshi Endo) ICST 2020 [abstract | PDF | BibTeX | video] | ||
Static Analysis with Demand-Driven Value Refinement (with Benno Stein, Benjamin Barslev Nielsen, and Bor-Yuh Evan Chang) OOPSLA 2019 [abstract | PDF | BibTeX] | ||
Model-Based Testing of Breaking Changes in Node.js Libraries (with Martin Toldam Torp) ESEC/FSE 2019 [abstract | PDF | BibTeX] | ||
Reasonably-Most-General Clients for JavaScript Library Analysis (with Erik Krogh Kristensen) ICSE 2019 [abstract | PDF | BibTeX] | ||
Scalability-First Pointer Analysis with Self-Tuning Context-Sensitivity (with Yue Li, Tian Tan, and Yannis Smaragdakis) ESEC/FSE 2018 [abstract | PDF | BibTeX] | ||
Practical AJAX Race Detection for JavaScript Web Applications (with Christoffer Quist Adamsen, Saba Alimadadi, and Frank Tip) ESEC/FSE 2018 [abstract | PDF | BibTeX] | ||
Type Regression Testing to Detect Breaking Changes in Node.js Libraries (with Martin Toldam Torp and Gianluca Mezzetti) ECOOP 2018 [abstract | PDF | BibTeX] | ||
Type Test Scripts for TypeScript Testing (with Erik Krogh Kristensen) OOPSLA 2017 [abstract | PDF | BibTeX] | ||
Practical Initialization Race Detection for JavaScript Web Applications (with Christoffer Quist Adamsen and Frank Tip) OOPSLA 2017 (ACM SIGPLAN Distinguished Paper) [abstract | PDF | BibTeX] | ||
A Survey of Dynamic Analysis and Test Generation for JavaScript (with Esben Andreasen, Liang Gong, Michael Pradel, Marija Selakovic, Koushik Sen, and Cristian-Alexandru Staicu) ACM Computing Surveys, 50(5) [abstract | PDF | BibTeX] | ||
Systematic Approaches for Increasing Soundness and Precision of Static Analyzers (with Esben Sparre Andreasen and Benjamin Barslev Nielsen) SOAP 2017 [abstract | PDF | BibTeX] | ||
Systematic Black-Box Analysis of Collaborative Web Applications (with Marina Billes and Michael Pradel) PLDI 2017 [abstract | PDF | BibTeX] | ||
Repairing Event Race Errors by Controlling Nondeterminism (with Christoffer Quist Adamsen, Rezwana Karim, Manu Sridharan, Frank Tip, and Koushik Sen) ICSE 2017 [abstract | PDF | BibTeX] | ||
QuickChecking Static Analysis Properties (with Jan Midtgaard) Software Testing, Verification and Reliability, 27(6) earlier version: ICST 2015 [abstract | PDF | BibTeX] | ||
Inference and Evolution of TypeScript Declaration Files (with Erik Krogh Kristensen) FASE 2017 (ETAPS 2017 Best Paper Award Nominee) [abstract | PDF | BibTeX] | ||
Message Safety in Dart (with Erik Ernst, Mathias Schwarz, and Fabio Strocco) Science of Computer Programming earlier version: DLS 2015 preliminary version presented at FOOL 2014 [abstract | PDF | BibTeX] | ||
Type Safety Analysis for Dart (with Thomas S. Heinze and Fabio Strocco) DLS 2016 [abstract | PDF | BibTeX] | ||
Type Unsoundness in Practice: An Empirical Study of Dart (with Gianluca Mezzetti and Fabio Strocco) DLS 2016 [abstract | PDF | BibTeX] | ||
Analyzing Test Completeness for Dynamic Languages (with Christoffer Quist Adamsen and Gianluca Mezzetti) ISSTA 2016 (ACM SIGSOFT Distinguished Paper) [abstract | PDF | BibTeX] | ||
Feedback-Directed Instrumentation for Deployed JavaScript Applications (with Magnus Madsen, Frank Tip, Esben Andreasen, and Koushik Sen) ICSE 2016 (ACM SIGSOFT Distinguished Paper) [abstract | PDF | BibTeX] | ||
Stateless Model Checking of Event-Driven Applications (with Casper S. Jensen, Veselin Raychev, Dimitar Dimitrov, and Martin Vechev) OOPSLA 2015 [abstract | PDF | BibTeX] | ||
Systematic Execution of Android Test Suites in Adverse Conditions (with Christoffer Quist Adamsen and Gianluca Mezzetti) ISSTA 2015 (ACM SIGSOFT Distinguished Paper) [abstract | PDF | BibTeX] | ||
Checking Correctness of TypeScript Interfaces for JavaScript Libraries (with Asger Feldthaus) OOPSLA 2014 [abstract | PDF | BibTeX] (ACM SIGPLAN OOPSLA 2014 Artifact Award) | ||
Determinacy in Static Analysis of jQuery (with Esben Andreasen) OOPSLA 2014 [abstract | PDF | BibTeX] | ||
Sparse Dataflow Analysis with Pointers and Reachability (with Magnus Madsen) SAS 2014 [abstract | PDF | BibTeX] | ||
Semi-Automatic Rename Refactoring for JavaScript (with Asger Feldthaus) OOPSLA 2013 [abstract | PDF | BibTeX] | ||
Automated Detection of Client-State Manipulation Vulnerabilities (with Mathias Schwarz) ACM TOSEM 23(4) earlier version: ICSE 2012 (ACM SIGSOFT Distinguished Paper) [abstract | PDF | BibTeX] | ||
Server Interface Descriptions for Automated Testing of JavaScript Web Applications (with Casper S. Jensen and Zhendong Su) ESEC/FSE 2013 [abstract | PDF | BibTeX] | ||
Automated Testing with Targeted Event Sequence Generation (with Casper S. Jensen and Mukul R. Prasad) ISSTA 2013 [abstract | PDF | BibTeX] | ||
Remedying the Eval that Men Do (with Simon Holm Jensen and Peter A. Jonsson) ISSTA 2012 (ACM SIGSOFT Distinguished Paper) [abstract | PDF | BibTeX] | ||
Improving Tools for JavaScript Programmers (Position Paper) (with Esben Andreasen, Asger Feldthaus, Simon Holm Jensen, Casper S. Jensen, Peter A. Jonsson, and Magnus Madsen) STOP 2012 [abstract | PDF | BibTeX] | ||
Tool-supported Refactoring for JavaScript (with Asger Feldthaus, Todd Millstein, Max Schäfer, and Frank Tip) OOPSLA 2011 [abstract | PDF | BibTeX] | ||
Modeling the HTML DOM and Browser API in Static Analysis of JavaScript Web Applications (with Simon Holm Jensen and Magnus Madsen) ESEC/FSE 2011 [abstract | PDF | BibTeX] | ||
A Framework for Automated Testing of JavaScript Web Applications (with Shay Artzi, Julian Dolby, Simon Holm Jensen, and Frank Tip) ICSE 2011 [abstract | PDF | BibTeX] | ||
HTML Validation of Context-Free Languages (with Mathias Schwarz) FoSSaCS 2011 [abstract | PDF (tech report) | BibTeX] | ||
XML Graphs in Program Analysis (with Michael I. Schwartzbach) Science of Computer Programming, 76(6) earlier version: PEPM 2007 (invited paper) [abstract | PDF | BibTeX] | ||
Interprocedural Analysis with Lazy Propagation (with Simon Holm Jensen and Peter Thiemann) SAS 2010 [abstract | PDF (tech report) | BibTeX] | ||
Analyzing Ambiguity of Context-Free Grammars (with Claus Brabrand and Robert Giegerich) Science of Computer Programming, 75(3) earlier version: CIAA 2007 [abstract | PDF | BibTeX] | ||
Type Analysis for JavaScript (with Simon Holm Jensen and Peter Thiemann) SAS 2009 [abstract | PDF | BibTeX] | ||
JWIG: Yet Another Framework for Maintainable and Secure Web Applications (with Mathias Schwarz) WEBIST 2009 [abstract | PDF (tech report version) | BibTeX] | ||
Static Analysis for Event-Based XML Processing presented at PLAN-X 2008, [abstract | PDF | BibTeX] | ||
Dual Syntax for XML Languages (with Claus Brabrand and Michael I. Schwartzbach) Information Systems, 33(4) earlier version: DBPL 2005 [abstract | PDF | BibTeX] | ||
Static Validation of XSL Transformations (with Mads Østerby Olesen and Michael I. Schwartzbach) ACM Transactions on Programming Languages and Systems, 29(4) [abstract | PDF | BibTeX] | ||
Static Analysis for Java Servlets and JSP (with Christian Kirkegaard) SAS 2006 full version available as BRICS RS-06-10 [abstract | PDF (tech report version) | BibTeX] | ||
Type Checking with XML Schema in XACT (with Christian Kirkegaard) presented at PLAN-X 2006, also published as BRICS RS-05-31 [abstract | PDF | BibTeX] | ||
The Design Space of Type Checkers for XML Transformation Languages (with Michael I. Schwartzbach) ICDT 2005 (invited paper) [abstract | PDF | BibTeX] | ||
Contracts for Cooperation between Web Service Programmers and
HTML Designers (with Henning Böttger and Michael I. Schwartzbach) Journal of Web Engineering, 5(1) [abstract | PDF | BibTeX] | ||
A Runtime System for XML Transformations in Java (with Aske Simon Christensen and Christian Kirkegaard) XSym 2004 [abstract | PDF | BibTeX] | ||
Static Analysis of XML Transformations in Java (with Christian Kirkegaard and Michael I. Schwartzbach) IEEE Transactions on Software Engineering, 30(3) [abstract | PDF | BibTeX] | ||
Precise Analysis of String Expressions (with Aske Simon Christensen and Michael I. Schwartzbach) SAS 2003 [abstract | PDF | BibTeX] | ||
Extending Java for High-Level Web Service Construction (with Aske Simon Christensen and Michael I. Schwartzbach) ACM Transactions on Programming Languages and Systems, 25(6) [abstract | PDF | BibTeX] | ||
Static Analysis for Dynamic XML (with Aske Simon Christensen and Michael I. Schwartzbach) PLAN-X 2002 [abstract | PDF | BibTeX] | ||
Language-Based Caching of Dynamically Generated HTML (with Claus Brabrand, Steffan Olesen, and Michael I. Schwartzbach) World Wide Web Journal, 5(4) [abstract | PDF | BibTeX] | ||
The <bigwig> Project (with Claus Brabrand and Michael I. Schwartzbach) ACM Transactions on Internet Technology, 2(2) [abstract | HTML | PDF | BibTeX] | ||
Static Validation of Dynamically Generated HTML (with Claus Brabrand and Michael I. Schwartzbach) PASTE 2001 [abstract | PDF | BibTeX] | ||
The Pointer Assertion Logic Engine (with Michael I. Schwartzbach) PLDI 2001 [abstract | PDF | BibTeX] | ||
PowerForms: Declarative Client-Side Form Field Validation (with Claus Brabrand, Mikkel Ricky, and Michael I. Schwartzbach) World Wide Web Journal, 3(4) [abstract | PDF | BibTeX] | ||
The DSD Schema Language (with Nils Klarlund and Michael I. Schwartzbach) Automated Software Engineering, 9(3), earlier version: FMSP 2000 [PostScript | BibTeX] | ||
MONA Implementation Secrets (with Nils Klarlund and Michael I. Schwartzbach) International Journal of Foundations of Computer Science, 13(4) earlier version: CIAA 2000 [abstract | PDF | BibTeX] | ||
Compile-Time Debugging of C Programs Working on Trees (with Jacob Elgaard and Michael I. Schwartzbach) ESOP 2000 [abstract | PDF | BibTeX] | ||
A Runtime System for Interactive Web Services (with Claus Brabrand, Anders Sandholm, and Michael I. Schwartzbach) WWW 1999, also in Computer Networks 31(11-16) [abstract | HTML | PostScript | BibTeX] | ||
MONA 1.x: New Techniques for WS1S and WS2S (tool paper) (with Jacob Elgaard and Nils Klarlund) CAV 1998 [abstract | PostScript | BibTeX] |
Other publications:
Technical Perspective - WebAssembly: A Quiet Revolution of the Web Communications of the ACM, 2018 [CACM | BibTeX] | ||
ArtForm: A Tool for Exploring the Codebase of Form-based Websites (with Benjamin Spencer, Michael Benedikt, and Franck van Breugel) ISSTA 2017 Demonstration [abstract | PDF | BibTeX | WWW] | ||
In Defense of Soundiness: A Manifesto (with Benjamin Livshits, Manu Sridharan, Yannis Smaragdakis, Ondrej Lhotak, J. Nelson Amaral, Bor-Yuh Evan Chang, Samuel Z. Guyer, Uday P. Khedker, and Dimitrios Vardoulakis) Communications of the ACM, 2015 [CACM | BibTeX] | ||
The Big Manual for the Java String Analyzer (with Asger Feldthaus) [PDF | BibTeX] | ||
Verifikation af Softwaresystemer (in Danish) in Carlsbergfondets Årsskrift, 2005 | ||
Document Structure Description 2.0 BRICS NS-02-7 [HTML | PDF | BibTeX] | ||
JWIG User Manual (with Aske Simon Christensen) BRICS NS-02-6 [ PDF | BibTeX] | ||
Program Verification with Monadic Second-Order Logic &
Languages for Web Service Development
(PhD dissertation) BRICS DS-02-4 [abstract | BibTeX] | ||
Interactive Web Services with Java (slide collection) (with Michael I. Schwartzbach) BRICS NS-02-1 [HTML | BibTeX] | ||
The XML Revolution - Technologies for the future Web (slide collection) (with Michael I. Schwartzbach) BRICS NS-01-8 (revision of BRICS NS-00-8) [HTML | BibTeX] | ||
MONA Version 1.4 User Manual (with Nils Klarlund) BRICS NS-01-1 (revision of BRICS NS-98-3) [abstract | PDF | BibTeX] | ||
Document Structure Description 1.0 (with Nils Klarlund and Michael I. Schwartzbach) BRICS NS-00-7 [abstract | HTML | PDF | BibTeX] |