Demo Data from SIGIR 2026 / reviewers in the wild / expert
Khurram A. Jafery
dblp:190/7678
· DBLP profile ↗
2ranked-venue papers
1as first author
1since 2021 · last 2021
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 2 · 1 first-author · 1 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 · 93% Program analysis · 7% |
Topics — the 6 heaviest of 6, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Programming languages and type systems › type systems
gradual typing |
0.5 | 1 | 2021 | Abstracting gradual typing moving forward: precise and space-efficient · Proc. ACM Program. Lang. 2021 |
Programming languages and type systems › type checking
runtime type checking |
0.5 | 1 | 2021 | Abstracting gradual typing moving forward: precise and space-efficient · Proc. ACM Program. Lang. 2021 |
Programming languages and type systems
type systems |
0.5 | 1 | 2021 | Abstracting gradual typing moving forward: precise and space-efficient · Proc. ACM Program. Lang. 2021 |
Programming languages and type systems › control structures
pattern matching |
0.3 | 1 | 2017 | Sums of uncertainty: refinements go gradual · POPL 2017 |
Programming languages and type systems › type systems
refinement types |
0.3 | 1 | 2017 | Sums of uncertainty: refinements go gradual · POPL 2017 |
Program analysis › static analysis
abstract interpretation |
0.1 | 1 | 2021 | Abstracting gradual typing moving forward: precise and space-efficient · Proc. ACM Program. Lang. 2021 |
Methods — techniques the papers use, named apart from their topics
forward-completeness · 0.5abstract interpretation · 0.5type theory · 0.3refinement typing · 0.3
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2021 | Abstracting gradual typing moving forward: precise and space-efficientabstractAbstracting Gradual Typing (AGT) is a systematic approach to designing gradually-typed languages. Languages developed using AGT automatically satisfy the formal semantic criteria for gradual languages identified by Siek et al. Nonetheless, vanilla AGT semantics can still have important shortcomings. First, a gradual language's runtime checks should preserve the space-efficiency guarantees inherent to the underlying static and dynamic languages. To the contrary, the default operational semantics of AGT break proper tail calls. Second, a gradual language's runtime checks should enforce basic modular type-based invariants expected from the static type discipline. To the contrary, the default operational semantics of AGT may fail to enforce some invariants in surprising ways. We demonstrate this in the GTFL ≲ language of Garcia et al. This paper addresses both problems at once by refining the theory underlying AGT's dynamic checks. Garcia et al. observe that AGT involves two abstractions of static types: one for the static semantics and one for the dynamic semantics. We recast the latter as an abstract interpretation of subtyping itself, while gradual types still abstract static types. Then we show how forward-completeness (Giacobazzi and Quintarelli) is key to supporting both space-efficient execution and reliable runtime type enforcement. Felipe Bañados, Alison M. Clark, Khurram A. Jafery, Ronald Garcia |
Proc. ACM Program. Lang. | 3 |
| 2017 | Sums of uncertainty: refinements go gradualabstractA long-standing shortcoming of statically typed functional languages is that type checking does not rule out pattern-matching failures (run-time match exceptions). Refinement types distinguish different values of datatypes; if a program annotated with refinements passes type checking, pattern-matching failures become impossible. Unfortunately, refinement is a monolithic property of a type, exacerbating the difficulty of adding refinement types to nontrivial programs. Khurram A. Jafery, Jana Dunfield |
POPL | 1 |