Demo Data from VLDB 2026 / reviewers in the wild / expert
Duncan Mitchell
dblp:204/3748
· DBLP profile ↗
4ranked-venue papers
2as first author
0since 2021 · last 2019
0000-0001-8989-4773ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 3 · 1 first-authorSecurity and privacy · 1 · 1 first-author
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Software engineering, system software, and programming languages
1 paper |
Program analysis · 44% Programming languages and type systems · 44% Software testing · 13% |
Topics — the 3 heaviest of 3, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Program analysis › symbolic execution
dynamic symbolic execution |
0.4 | 1 | 2019 | Sound regular expression semantics for dynamic symbolic execution of JavaScript · PLDI 2019 |
Programming languages and type systems › language semantics
regular expression semantics |
0.4 | 1 | 2019 | Sound regular expression semantics for dynamic symbolic execution of JavaScript · PLDI 2019 |
Software testing
test generation |
0.1 | 1 | 2019 | Sound regular expression semantics for dynamic symbolic execution of JavaScript · PLDI 2019 |
Methods — techniques the papers use, named apart from their topics
symbolic execution · 0.4string constraints · 0.4refinement · 0.4
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2019 | A Formal Model for Checking Cryptographic API Usage in JavaScript
Duncan Mitchell, Johannes Kinder |
ESORICS (1) | 1 |
| 2019 | Sound regular expression semantics for dynamic symbolic execution of JavaScriptabstractSupport for regular expressions in symbolic execution-based tools for test generation and bug finding is insufficient. Common aspects of mainstream regular expression engines, such as backreferences or greedy matching, are ignored or imprecisely approximated, leading to poor test coverage or missed bugs. In this paper, we present a model for the complete regular expression language of ECMAScript 2015 (ES6), which is sound for dynamic symbolic execution of the test and exec functions. We model regular expression operations using string constraints and classical regular expressions and use a refinement scheme to address the problem of matching precedence and greediness. We implemented our model in ExpoSE, a dynamic symbolic execution engine for JavaScript, and evaluated it on over 1,000 Node.js packages containing regular expressions, demonstrating that the strategy is effective and can significantly increase the number of successful regular expression queries and therefore boost coverage. Blake Loring, Duncan Mitchell, Johannes Kinder |
PLDI | 2 |
| 2018 | Checking cryptographic API usage with composable annotations (short paper)abstractDevelopers of applications relying on cryptographic libraries can easily make mistakes in their use. Popular dynamic languages such as JavaScript make testing or verifying such applications particularly challenging. In this paper, we present our ongoing work toward a methodology for automatically checking security properties in JavaScript code. Our main idea is to attach security annotations to values that encode properties of interest. We illustrate our idea using examples and, as an initial step in our line of work, we present a formalization of security annotations in a statically typed lambda calculus. As next steps, we will translate our annotations to a dynamically typed formalization of JavaScript such as λJS and implement a runtime checked type extension using code instrumentation for full JavaScript. Duncan Mitchell, L. Thomas van Binsbergen, Blake Loring, Johannes Kinder |
PEPM | 1 |
| 2017 | ExpoSE: practical symbolic execution of standalone JavaScriptabstractJavaScript has evolved into a versatile ecosystem for not just the web, but also a wide range of server-side and client-side applications. With this increased scope, the potential impact of bugs increases. We introduce ExpoSE, a dynamic symbolic execution engine for Node.js applications. ExpoSE automatically generates test cases to find bugs and cover as many paths in the target program as possible. We discuss the specific challenges for symbolic execution arising from the widespread use of regular expressions in such applications. In particular, we make explicit the issues of capture groups, backreferences, and greediness in JavaScript's flavor of regular expressions, and our models improve over previous work that only partially addressed these. We evaluate ExpoSE on three popular JavaScript libraries that make heavy use of regular expressions, and we report a previously unknown bug in the Minimist library. Blake Loring, Duncan Mitchell, Johannes Kinder |
SPIN | 2 |