VLDB 2026 Research / reviewers in the wild / expert
Upamanyu Sharma
dblp:228/0290
· DBLP profile ↗
6ranked-venue papers
1as first author
4since 2021 · last 2023
0000-0002-5446-3284ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 6 · 1 first-author · 4 since 2021
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2023 | Verifying vMVCC, a high-performance transaction library using multi-version concurrency control
Yun-Sheng Chang, Ralf Jung 0002, Upamanyu Sharma, Joseph Tassarotti, M. Frans Kaashoek, Nickolai Zeldovich |
OSDI | 3 |
| 2023 | Grove: a Separation-Logic Library for Verifying Distributed SystemsabstractGrove is a concurrent separation logic library for verifying distributed systems. Grove is the first to handle time-based leases, including their interaction with reconfiguration, crash recovery, thread-level concurrency, and unreliable networks. This paper uses Grove to verify several distributed system components written in Go, including vKV, a realistic distributed multi-threaded key-value store. vKV supports reconfiguration, primary/backup replication, and crash recovery, and uses leases to execute read-only requests on any replica. vKV achieves high performance (67--73% of Redis on a single core), scales with more cores and more backup replicas (achieving about 2× the throughput when going from 1 to 3 servers), and can safely execute reads while reconfiguring. Upamanyu Sharma, Ralf Jung 0002, Joseph Tassarotti, M. Frans Kaashoek, Nickolai Zeldovich |
SOSP | 1 |
| 2023 | Performal: Formal Verification of Latency Properties for Distributed SystemsabstractUnderstanding and debugging the performance of distributed systems is a notoriously hard task, but a critical one. Traditional techniques like logging, tracing, and benchmarking represent a best-effort way to find performance bugs, but they either require a full deployment to be effective or can only find bugs after they manifest. Even with such techniques in place, real deployments often exhibit performance bugs that cause unwanted behavior. In this paper, we present Performal, a novel methodology that leverages the recent advances in formal verification to provide rigorous latency guarantees for real, complex distributed systems. The task is not an easy one: it requires carefully decoupling the formal proofs from the execution environment, formally defining latency properties, and proving them on real, distributed implementations. We used Performal to prove rigorous upper bounds for the latency of three applications: a distributed lock, ZooKeeper and a MultiPaxos-based State Machine Replication system. Our experimental evaluation shows that these bounds are a good proxy for the behavior of the deployed system and can be used to identify performance bugs in real-world systems. Nuda Zhang, Upamanyu Sharma, Manos Kapritsos |
Proc. ACM Program. Lang. | 2 |
| 2022 | Armada: Automated Verification of Concurrent Code with Sound Semantic ExtensibilityabstractSafely writing high-performance concurrent programs is notoriously difficult. To aid developers, we introduce Armada, a language and tool designed to formally verify such programs with relatively little effort. Via a C-like language and a small-step, state-machine-based semantics, Armadagives developers the flexibility to choose arbitrary memory layout and synchronization primitives so that they are never constrained in their pursuit of performance. To reduce developer effort, Armadaleverages SMT-powered automation and a library of powerful reasoning techniques, including rely-guarantee, TSO elimination, reduction, and pointer analysis. All of these techniques are proven sound, and Armadacan be soundly extended with additional strategies over time. Using Armada, we verify five concurrent case studies and show that we can achieve performance equivalent to that of unverified code. Jacob R. Lorch, Yixuan Chen 0002, Manos Kapritsos, Haojun Ma, Bryan Parno, Shaz Qadeer, Upamanyu Sharma, James R. Wilcox, Xueyuan Zhao |
ACM Trans. Program. Lang. Syst. | 7 |
| 2020 | Armada: low-effort verification of high-performance concurrent programsabstractSafely writing high-performance concurrent programs is notoriously difficult. To aid developers, we introduce Armada, a language and tool designed to formally verify such programs with relatively little effort. Via a C-like language and a small-step, state-machine-based semantics, Armada gives developers the flexibility to choose arbitrary memory layout and synchronization primitives so they are never constrained in their pursuit of performance. To reduce developer effort, Armada leverages SMT-powered automation and a library of powerful reasoning techniques, including rely-guarantee, TSO elimination, reduction, and alias analysis. All these techniques are proven sound, and Armada can be soundly extended with additional strategies over time. Using Armada, we verify four concurrent case studies and show that we can achieve performance equivalent to that of unverified code. Jacob R. Lorch, Yixuan Chen 0002, Manos Kapritsos, Bryan Parno, Shaz Qadeer, Upamanyu Sharma, James R. Wilcox, Xueyuan Zhao |
PLDI | 6 |
| 2018 | REPT: Reverse Debugging of Failures in Deployed Software
Weidong Cui, Xinyang Ge, Baris Kasikci, Ben Niu 0007, Upamanyu Sharma, Ruoyu Wang 0001, Insu Yun |
OSDI | 5 |