Demo Data from VLDB 2026 / reviewers in the wild / expert
Anish Tondwalkar
dblp:209/9952
· 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
1 paper |
Program verification · 50% Programming languages and type systems · 50% | |
| Theoretical computer science
1 paper |
Automated reasoning and model checking · 100% |
Topics — the 5 heaviest of 5, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Program verification
deductive verification |
0.3 | 1 | 2018 | Refinement reflection: complete verification with SMT · Proc. ACM Program. Lang. 2018 |
Programming languages and type systems › type systems › refinement types
liquid types |
0.3 | 1 | 2018 | Refinement reflection: complete verification with SMT · Proc. ACM Program. Lang. 2018 |
Programming languages and type systems › type systems
refinement types |
0.3 | 1 | 2018 | Refinement reflection: complete verification with SMT · Proc. ACM Program. Lang. 2018 |
Program verification
SMT-based verification |
0.3 | 1 | 2018 | Refinement reflection: complete verification with SMT · Proc. ACM Program. Lang. 2018 |
Automated reasoning and model checking › theorem proving
proof search |
0.3 | 1 | 2018 | Refinement reflection: complete verification with SMT · Proc. ACM Program. Lang. 2018 |
Methods — techniques the papers use, named apart from their topics
model checking · 0.7equational reasoning · 0.7abstract interpretation · 0.7SMT solving · 0.7
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2021 | Refinements of Futures Past: Higher-Order Specification with Implicit Refinement TypesabstractRefinement types decorate types with assertions that enable automatic verification. Like assertions, refinements are limited to binders that are in scope, and hence, cannot express higher-order specifications. Ghost variables circumvent this limitation but are prohibitively tedious to use as the programmer must divine and explicate their values at all call-sites. We introduce Implicit Refinement Types which turn ghost variables into implicit pair and function types, in a way that lets the refinement typechecker automatically synthesize their values at compile time. Implicit Refinement Types further take advantage of refinement type information, allowing them to be used as a lightweight verification tool, rather than merely as a technique to automate programming tasks. We evaluate the utility of Implicit Refinement Types by showing how they enable the modular specification and automatic verification of various higher-order examples including stateful protocols, access control, and resource usage. Anish Tondwalkar, Matthew Kolosick, Ranjit Jhala |
ECOOP | 1 |
| 2018 | Refinement reflection: complete verification with SMTabstractWe introduce Refinement Reflection , a new framework for building SMT-based deductive verifiers. The key idea is to reflect the code implementing a user-defined function into the function’s (output) refinement type. As a consequence, at uses of the function, the function definition is instantiated in the SMT logic in a precise fashion that permits decidable verification. Reflection allows the user to write equational proofs of programs just by writing other programs using pattern-matching and recursion to perform case-splitting and induction. Thus, via the propositions-as-types principle, we show that reflection permits the specification of arbitrary functional correctness properties. Finally, we introduce a proof-search algorithm called Proof by Logical Evaluation that uses techniques from model checking and abstract interpretation, to completely automate equational reasoning. We have implemented reflection in Liquid Haskell and used it to verify that the widely used instances of the Monoid, Applicative, Functor, and Monad typeclasses actually satisfy key algebraic laws required to make the clients safe, and have used reflection to build the first library that actually verifies assumptions about associativity and ordering that are crucial for safe deterministic parallelism. Niki Vazou, Anish Tondwalkar, Vikraman Choudhury, Ryan G. Scott, Ryan Newton, Philip Wadler, Ranjit Jhala |
Proc. ACM Program. Lang. | 2 |