Demo Data from VLDB 2026 / reviewers in the wild / expert
Caleb Voss 0001
dblp:164/8417-1
· DBLP profile ↗
3ranked-venue papers
2as first author
2since 2021 · last 2021
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 2 · 2 first-author · 1 since 2021Software engineering, systems software and programming languages · 1 · 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 |
Concurrent programming · 100% | |
| Computer architecture, parallel and distributed computing, and storage systems
1 paper |
Parallel and multicore computing · 50% Cloud and datacenter computing · 50% |
Topics — the 4 heaviest of 5, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Concurrent programming
synchronization |
0.5 | 1 | 2021 | An ownership policy and deadlock detector for promises · PPoPP 2021 |
Concurrent programming › parallel programming models
task parallelism |
0.5 | 1 | 2021 | An ownership policy and deadlock detector for promises · PPoPP 2021 |
Cloud and datacenter computing › resource management › shared resource management
deadlock avoidance |
0.4 | 1 | 2019 | Transitive joins: a sound and efficient online deadlock-avoidance policy · PPoPP 2019 |
Parallel and multicore computing › parallel programming models
task parallelism |
0.4 | 1 | 2019 | Transitive joins: a sound and efficient online deadlock-avoidance policy · PPoPP 2019 |
Methods — techniques the papers use, named apart from their topics
online verification · 0.8dynamic analysis · 0.8static analysis · 0.5
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2021 | Linear Promises: Towards Safer Concurrent ProgrammingabstractIn this paper, we introduce a new type system based on linear typing, and show how it can be incorporated in a concurrent programming language to track ownership of promises. By tracking write operations on each promise, the language is able to guarantee exactly one write operation is ever performed on any given promise. This language thus precludes a number of common bugs found in promise-based programs, such as failing to write to a promise and writing to the same promise multiple times. We also present an implementation of the language, complete with an efficient type checking algorithm and high-level programming constructs. This language serves as a safer platform for writing high-level concurrent code. Ohad Rau, Caleb Voss 0001, Vivek Sarkar |
ECOOP | 2 |
| 2021 | An ownership policy and deadlock detector for promisesabstractTask-parallel programs often enjoy deadlock freedom under certain restrictions, such as the use of structured join operations, as in Cilk and X10, or the use of asynchronous task futures together with deadlock-avoiding policies such as Known Joins or Transitive Joins. However, the promise, a popular synchronization primitive for parallel tasks, does not enjoy deadlock-freedom guarantees. Promises can exhibit deadlock-like bugs; however, the concept of a deadlock is not currently well-defined for promises. Caleb Voss 0001, Vivek Sarkar |
PPoPP | 1 |
| 2019 | Transitive joins: a sound and efficient online deadlock-avoidance policyabstractWe introduce a new online deadlock-avoidance policy, Transitive Joins (TJ), that targets programs with dynamic task parallelism and arbitrary join operations. In this model, a computation task can asynchronously spawn new tasks and selectively join (block) on any task for which it has a handle. We prove that TJ soundly guarantees the absence of deadlock cycles among the blocking join operations. We present an algorithm for dynamically verifying TJ and show that TJ results in fewer false positives than the state-of-the-art policy, Known Joins (KJ). We evaluate an implementation of our verifier in comparison to prior work. The evaluation results show that instrumenting a program with a TJ verifier incurs geometric mean overheads of only 1.06× in execution time and 1.09× in memory usage, which is better overall than existing KJ verifiers. TJ is a practical online deadlock-avoidance policy that is applicable to a wide range of parallel programming models. Caleb Voss 0001, Tiago Cogumbreiro, Vivek Sarkar |
PPoPP | 1 |