EDBT 2026 Demo / reviewers in the wild / expert
Devyn Terra Keeney
dblp:344/5099
· DBLP profile ↗
1ranked-venue papers
0as first author
1since 2021 · last 2023
0009-0006-3343-6961ORCID · reported
Domains — the database's venue-derived domains; a paper can count in several
Software 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
1 paper |
Concurrent programming · 50% Programming languages and type systems · 50% |
Topics — the 2 heaviest of 2, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Concurrent programming
synchronization |
0.7 | 1 | 2023 | Responsive Parallelism with Synchronization · Proc. ACM Program. Lang. 2023 |
Programming languages and type systems
type systems |
0.7 | 1 | 2023 | Responsive Parallelism with Synchronization · Proc. ACM Program. Lang. 2023 |
Methods — techniques the papers use, named apart from their topics
type system · 0.7static and dynamic techniques · 0.7
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2023 | Responsive Parallelism with SynchronizationabstractMany concurrent programs assign priorities to threads to improve responsiveness. When used in conjunction with synchronization mechanisms such as mutexes and condition variables, however, priorities can lead to priority inversions, in which high-priority threads are delayed by low-priority ones. Priority inversions in the use of mutexes are easily handled using dynamic techniques such as priority inheritance, but priority inversions in the use of condition variables are not well-studied and dynamic techniques are not suitable. In this work, we use a combination of static and dynamic techniques to prevent priority inversion in code that uses mutexes and condition variables. A type system ensures that condition variables are used safely, even while dynamic techniques change thread priorities at runtime to eliminate priority inversions in the use of mutexes. We prove the soundness of our system, using a model of priority inversions based on cost models for parallel programs. To show that the type system is practical to implement, we encode it within the type systems of Rust and C++, and show that the restrictions are not overly burdensome by writing sizeable case studies using these encodings, including porting the Memcached object server to use our C++ implementation. Stefan K. Muller, Kyle Singer, Devyn Terra Keeney, Andrew Neth, Kunal Agrawal 0001, I-Ting Angelina Lee, Umut A. Acar |
Proc. ACM Program. Lang. | 3 |