Demo Data from SIGIR 2026 / reviewers in the wild / expert
Justin Frank
dblp:366/7204
· DBLP profile ↗
2ranked-venue papers
1as first author
2since 2021 · last 2024
0009-0007-7024-7331ORCID · reported
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 2 · 1 first-author · 2 since 2021
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
2 papers |
Programming languages and type systems · 77% Software testing · 23% |
Topics — the 7 heaviest of 7, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Programming languages and type systems › type theory › dependent types
indexed types |
0.8 | 1 | 2024 | Indexed Types for a Statically Safe WebAssembly · Proc. ACM Program. Lang. 2024 |
Programming languages and type systems › language-based security
memory safety |
0.8 | 1 | 2024 | Indexed Types for a Statically Safe WebAssembly · Proc. ACM Program. Lang. 2024 |
Software testing
random testing |
0.8 | 1 | 2024 | Generating Well-Typed Terms That Are Not "Useless" · Proc. ACM Program. Lang. 2024 |
Programming languages and type systems › lambda calculus
simply typed lambda calculus |
0.8 | 1 | 2024 | Generating Well-Typed Terms That Are Not "Useless" · Proc. ACM Program. Lang. 2024 |
Programming languages and type systems
type systems |
0.8 | 1 | 2024 | Indexed Types for a Statically Safe WebAssembly · Proc. ACM Program. Lang. 2024 |
Software testing
compiler testing |
0.2 | 1 | 2024 | Generating Well-Typed Terms That Are Not "Useless" · Proc. ACM Program. Lang. 2024 |
Programming languages and type systems
webassembly |
0.2 | 1 | 2024 | Indexed Types for a Statically Safe WebAssembly · Proc. ACM Program. Lang. 2024 |
Methods — techniques the papers use, named apart from their topics
type checking · 0.8step relations · 0.8nonlocal generation · 0.8dynamic check elimination · 0.8
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2024 | Generating Well-Typed Terms That Are Not "Useless"abstractRandom generation of well-typed terms lies at the core of effective random testing of compilers for functional languages. Existing techniques have had success following a top-down type-oriented approach to generation that makes choices locally, which suffers from an inherent limitation: the type of an expression is often generated independently from the expression itself. Such generation frequently yields functions with argument types that cannot be used to produce a result in a meaningful way, leaving those arguments unused. Such “use-less” functions can hinder both performance, as the argument generation code is dead but still needs to be compiled, and effectiveness, as a lot of interesting optimizations are tested less frequently. In this paper, we introduce a novel algorithm that is significantly more effective at generating functions that use their arguments. We formalize both the “local” and the “nonlocal” algorithms as step-relations in an extension of the simply-typed lambda calculus with type and arguments holes, showing how delaying the generation of types for subexpressions by allowing nonlocal generation steps leads to “useful” functions. We implement our algorithm demonstrating that it’s much closer to real programs in terms of argument usage rate, and we replicate a case study from the literature that finds bugs in the strictness analyzer of GHC, with our approach finding bugs four times faster than the current state-of-the-art local approach. Justin Frank, Benjamin Quiring, Leonidas Lampropoulos |
Proc. ACM Program. Lang. | 1 |
| 2024 | Indexed Types for a Statically Safe WebAssemblyabstractWe present Wasm-precheck, a superset of WebAssembly (Wasm) that uses indexed types to express and check simple constraints over program values. This additional static reasoning enables safely removing dynamic safety checks from Wasm, such as memory bounds checks. We implement Wasm-precheck as an extension of the Wasmtime compiler and runtime, evaluate the run-time and compile-time performance of Wasm-precheck vs Wasm configurations with explicit dynamic checks, and find an average run-time performance gain of 1.71 x faster in the widely used PolyBenchC benchmark suite, for a small overhead in binary size ( 7.18 % larger) and type-checking time (1.4% slower). We also prove type and memory safety of Wasm-precheck, prove Wasm safely embeds into Wasm-precheck ensuring backwards compatibility, prove Wasm-precheck type-erases to Wasm, and discuss design and implementation trade-offs. Adam T. Geller, Justin Frank, William J. Bowman |
Proc. ACM Program. Lang. | 2 |