VLDB 2026 Research / reviewers in the wild / expert
Sebastian Burckhardt
dblp:84/1935
· DBLP profile ↗
39ranked-venue papers
20as first author
8since 2021 · last 2025
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 27 · 18 first-author · 1 since 2021Databases, data management, data science and information retrieval · 6 · 2 first-author · 5 since 2021Systems, architecture and hardware · 3 · 1 first-authorTheory of computation · 3 · 2 first-author · 1 since 2021Computer networks · 1 · 1 since 2021Human-computer interaction and ubiquitous computing · 1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2025 | Netherite: efficient execution of serverless workflows
Sebastian Burckhardt, Badrish Chandramouli, Chris Gillum, David Justo, Konstantinos Kallas, Connor McMahon, Christopher Meiklejohn, Xiangfeng Zhu |
VLDB J. | 1 |
| 2024 | Serverless State Management Systems
Tianyu Li 0001, Badrish Chandramouli, Sebastian Burckhardt, Samuel Madden 0001 |
CIDR | 3 |
| 2024 | Cloud Actor-Oriented Database Transactions in OrleansabstractMicrosoft Orleans is a popular open source distributed programming framework and platform which invented the virtual actor model, and has since evolved into an actor-oriented database system with the addition of database abstractions such as ACID transactions. Properties of Orleans' virtual actor model imply that any ACID transaction mechanism for operations spanning multiple actors must support distributed transactions on top of pluggable cloud storage drivers. Unfortunately, distributed transactions usually perform poorly in this environment, partly because of the high performance and contention overhead of performing two-phase commit (2PC) on slow cloud storage systems. In this paper we describe the design and implementation of ACID transactions in Orleans. The system uses two primary techniques to mask the high latency of cloud storage and enable high transaction throughput. First, Orleans pioneered the use of a distributed form of early lock release by releasing all of a transaction's locks during phase one of 2PC, and by tracking commit dependencies to implement cascading abort. This avoids blocking transactions while running 2PC and enables a distributed form of group commit. Second, Orleans leverages reconnaissance queries to prefetch the state of all actors involved in a transaction from cloud storage prior to running the transaction and acquiring any locks, thus ensuring no locks are held while blocking on high latency cloud storage in most cases. Tamer Eldeeb, Sebastian Burckhardt, Reuben Bond, Asaf Cidon, Philip A. Bernstein |
Proc. VLDB Endow. | 2 |
| 2023 | Doing More with Less: Orchestrating Serverless Applications without an Orchestrator
David H. Liu, Amit Levy 0001, Shadi A. Noghabi, Sebastian Burckhardt |
NSDI | 4 |
| 2023 | DARQ Matter Binds Everything: Performant and Composable Cloud Programming via Resilient Steps
Tianyu Li 0001, Badrish Chandramouli, Sebastian Burckhardt, Samuel Madden 0001 |
Proc. ACM Manag. Data | 3 |
| 2022 | Netherite: Efficient Execution of Serverless WorkflowsabstractServerless is a popular choice for cloud service architects because it can provide scalability and load-based billing with minimal developer effort. Functions-as-a-service (FaaS) are originally stateless, but emerging frameworks add stateful abstractions. For instance, the widely used Durable Functions (DF) allow developers to write advanced serverless applications, including reliable workflows and actors, in a programming language of choice. DF implicitly and continuosly persists the state and progress of applications, which greatly simplifies development, but can create an IOps bottleneck. To improve efficiency, we introduce Netherite, a novel architecture for executing serverless workflows on an elastic cluster. Netherite groups the numerous application objects into a smaller number of partitions, and pipelines the state persistence of each partition. This improves latency and throughput, as it enables workflow steps to group commit, even if causally dependent. Moreover, Netherite leverages FASTER's hybrid log approach to support larger-than-memory application state, and to enable efficient partition movement between compute hosts. Our evaluation shows that (a) Netherite achieves lower latency and higher throughput than the original DF engine, by more than an order of magnitude in some cases, and (b) that Netherite has lower latency than some commonly used alternatives, like AWS Step Functions or cloud storage triggers. Sebastian Burckhardt, Badrish Chandramouli, Chris Gillum, David Justo, Konstantinos Kallas, Connor McMahon, Christopher Meiklejohn, Xiangfeng Zhu |
Proc. VLDB Endow. | 1 |
| 2021 | Durable functions: semantics for stateful serverlessabstractServerless, or Functions-as-a-Service (FaaS), is an increasingly popular paradigm for application development, as it provides implicit elastic scaling and load based billing. However, the weak execution guarantees and intrinsic compute-storage separation of FaaS create serious challenges when developing applications that require persistent state, reliable progress, or synchronization. This has motivated a new generation of serverless frameworks that provide stateful abstractions. For instance, Azure's Durable Functions (DF) programming model enhances FaaS with actors, workflows, and critical sections. As a programming model, DF is interesting because it combines task and actor parallelism, which makes it suitable for a wide range of serverless applications. We describe DF both informally, using examples, and formally, using an idealized high-level model based on the untyped lambda calculus. Next, we demystify how the DF runtime can (1) execute in a distributed unreliable serverless environment with compute-storage separation, yet still conform to the fault-free high-level model, and (2) persist execution progress without requiring checkpointing support by the language runtime. To this end we define two progressively more complex execution models, which contain the compute-storage separation and the record-replay, and prove that they are equivalent to the high-level model. Sebastian Burckhardt, Chris Gillum, David Justo, Konstantinos Kallas, Connor McMahon, Christopher Meiklejohn |
Proc. ACM Program. Lang. | 1 |
| 2021 | Specification and space complexity of collaborative text editing
Hagit Attiya, Sebastian Burckhardt, Alexey Gotsman, Adam Morrison 0001, Hongseok Yang, Marek Zawirski |
Theor. Comput. Sci. | 2 |
| 2020 | A.M.B.R.O.S.I.A: Providing Performant Virtual Resiliency for Distributed ApplicationsabstractWhen writing today's distributed programs, which frequently span both devices and cloud services, programmers are faced with complex decisions and coding tasks around coping with failure, especially when these distributed components are stateful. If their application can be cast as pure data processing, they benefit from the past 40--50 years of work from the database community, which has shown how declarative database systems can completely isolate the developer from the possibility of failure in a performant manner. Unfortunately, while there have been some attempts at bringing similar functionality into the more general distributed programming space, a compelling general-purpose system must handle non-determinism, be performant, support a variety of machine types with varying resiliency goals, and be language agnostic, allowing distributed components written in different languages to communicate. This paper introduces Ambrosia, the first system to satisfy all these requirements. We coin the term "virtual resiliency", analogous to virtual memory, for the platform feature which allows failure oblivious code to run in a failure resilient manner. We also introduce novel programming language constructs for resiliently handling non-determinism. Of further interest is the effective reapplication of much database performance optimization technology to make Ambrosia more performant than many of today's non-resilient cloud solutions. Jonathan Goldstein, Ahmed S. Abdelhamid, Michael Barnett 0001, Sebastian Burckhardt, Badrish Chandramouli, Darren Gehring, Niel Lebeck, Christopher Meiklejohn, Umar Farooq Minhas, Ryan Newton, Rahee Peshawaria, Tal Zaccai, Irene Zhang |
Proc. VLDB Endow. | 4 |
| 2018 | Reactive caching for composed services: polling at the speed of pushabstractSometimes, service clients repeat requests in a polling loop in order to refresh their view. However, such polling may be slow to pick up changes, or may increase the load unacceptably, in particular for composed services that disperse over many components. We present an alternative reactive polling API and reactive caching algorithm that combines the conceptual simplicity of polling with the efficiency of push-based change propagation. A reactive cache contains a summary of a distributed read-only operation and maintains a connection to its dependencies so changes can be propagated automatically. We first formalize the setting using an abstract calculus for composed services. Then we present a fault-tolerant distributed algorithm for reactive caching that guarantees eventual consistency. Finally, we implement and evaluate our solution by extending the Orleans actor framework, and perform experiments on two benchmarks in a distributed cloud deployment. The results show that our solution provides superior performance compared to polling, at a latency that comes close to hand-written change notifications. Sebastian Burckhardt, Tim Coppieters |
Proc. ACM Program. Lang. | 1 |
| 2017 | Consistency Models with Global Operation Sequencing and their CompositionabstractLinearizability is the commonly accepted notion of correctness for concurrent data structures. It requires that any execution of the data structure is justified by a linearization --- a linear order on operations satisfying the data structure's sequential specification. Proving linearizability is often challenging because an operation's position in the linearization order may depend on future operations. This makes it very difficult to incrementally construct the linearization in a proof. We propose a new proof method that can handle data structures with such future-dependent linearizations. Our key idea is to incrementally construct not a single linear order of operations, but a partial order that describes multiple linearizations satisfying the sequential specification. This allows decisions about the ordering of operations to be delayed, mirroring the behaviour of data structure implementations. We formalise our method as a program logic based on rely-guarantee reasoning, and demonstrate its effectiveness by verifying several challenging data structures: the Herlihy-Wing queue, the TS queue and the Optimistic set. Alexey Gotsman, Sebastian Burckhardt |
DISC | 2 |
| 2017 | Geo-distribution of actor-based servicesabstractMany service applications use actors as a programming model for the middle tier, to simplify synchronization, fault-tolerance, and scalability. However, efficient operation of such actors in multiple, geographically distant datacenters is challenging, due to the very high communication latency. Caching and replication are essential to hide latency and exploit locality; but it is not a priori clear how to combine these techniques with the actor programming model. We present Geo, an open-source geo-distributed actor system that improves performance by caching actor states in one or more datacenters, yet guarantees the existence of a single latest version by virtue of a distributed cache coherence protocol. Geo's programming model supports both volatile and persistent actors, and supports updates with a choice of linearizable and eventual consistency. Our evaluation on several workloads shows substantial performance benefits, and confirms the advantage of supporting both replicated and single-instance coherence protocols as configuration choices. For example, replication can provide fast, always-available reads and updates globally, while batching of linearizable storage accesses at a single location can boost the throughput of an order processing workload by 7x. Philip A. Bernstein, Sebastian Burckhardt, Sergey Bykov, Natacha Crooks, Jose M. Faleiro, Gabriel Kliot, Alok Gautam Kumbhare, Muntasir Raihan Rahman, Vivek Shah 0001, Adriana Szekeres, Jorgen Thelin |
Proc. ACM Program. Lang. | 2 |
| 2016 | Specification and Complexity of Collaborative Text EditingabstractCollaborative text editing systems allow users to concurrently edit a shared document, inserting and deleting elements (e.g., characters or lines). There are a number of protocols for collaborative text editing, but so far there has been no precise specification of their desired behavior, and several of these protocols have been shown not to satisfy even basic expectations. This paper provides a precise specification of a replicated list object, which models the core functionality of replicated systems for collaborative text editing. We define a strong list specification, which we prove is implemented by an existing protocol, as well as a weak list specification, which admits additional protocol behaviors. Hagit Attiya, Sebastian Burckhardt, Alexey Gotsman, Adam Morrison 0001, Hongseok Yang, Marek Zawirski |
PODC | 2 |
| 2015 | Global Sequence Protocol: A Robust Abstraction for Replicated Shared StateabstractIn the age of cloud-connected mobile devices, users want responsive apps that read and write shared data everywhere, at all times, even if network connections are slow or unavailable. The solution is to replicate data and propagate updates asynchronously. Unfortunately, such mechanisms are notoriously difficult to understand, explain, and implement. To address these challenges, we present GSP (global sequence protocol), an operational model for replicated shared data. GSP is simple and abstract enough to serve as a mental reference model, and offers fine control over the asynchronous update propagation (update transactions, strong synchronization). It abstracts the data model and thus applies both to simple key-value stores, and complex structured data. We then show how to implement GSP robustly on a client-server architecture (masking silent client crashes, server crash-recovery failures, and arbitrary network failures) and efficiently (transmitting and storing minimal information by reducing update sequences). Sebastian Burckhardt, Daan Leijen, Jonathan Protzenko, Manuel Fähndrich |
ECOOP | 1 |
| 2014 | Replicated data types: specification, verification, optimalityabstractGeographically distributed systems often rely on replicated eventually consistent data stores to achieve availability and performance. To resolve conflicting updates at different replicas, researchers and practitioners have proposed specialized consistency protocols, called replicated data types, that implement objects such as registers, counters, sets or lists. Reasoning about replicated data types has however not been on par with comparable work on abstract data types and concurrent data types, lacking specifications, correctness proofs, and optimality results. Sebastian Burckhardt, Alexey Gotsman, Hongseok Yang, Marek Zawirski |
POPL | 1 |
| 2013 | It's alive! continuous feedback in UI programmingabstractLive programming allows programmers to edit the code of a running program and immediately see the effect of the code changes. This tightening of the traditional edit-compile-run cycle reduces the cognitive gap between program code and execution, improving the learning experience of beginning programmers while boosting the productivity of seasoned ones. Unfortunately, live programming is difficult to realize in practice as imperative languages lack well-defined abstraction boundaries that make live programming responsive or its feedback comprehensible. Sebastian Burckhardt, Manuel Fähndrich, Jonathan de Halleux, Sean McDirmid, Michal Moskal, Nikolai Tillmann, Jun Kato 0001 |
PLDI | 1 |
| 2012 | Cloud Types for Eventual Consistency
Sebastian Burckhardt, Manuel Fähndrich, Daan Leijen, Benjamin P. Wood |
ECOOP | 1 |
| 2012 | What's Decidable about Weak Memory Models?
Mohamed Faouzi Atig, Ahmed Bouajjani, Sebastian Burckhardt, Madan Musuvathi |
ESOP | 3 |
| 2012 | Concurrent Library Correctness on the TSO Memory Model
Sebastian Burckhardt, Alexey Gotsman, Madan Musuvathi, Hongseok Yang |
ESOP | 1 |
| 2012 | Eventually Consistent Transactions
Sebastian Burckhardt, Daan Leijen, Manuel Fähndrich, Shmuel Sagiv |
ESOP | 1 |
| 2012 | Multicore acceleration of priority-based schedulers for concurrency bug detectionabstractTesting multithreaded programs is difficult as threads can interleave in a nondeterministic fashion. Untested interleavings can cause failures, but testing all interleavings is infeasible. Many interleaving exploration strategies for bug detection have been proposed, but their relative effectiveness and performance remains unclear as they often lack publicly available implementations and have not been evaluated using common benchmarks. We describe NeedlePoint, an open-source framework that allows selection and comparison of a wide range of interleaving exploration policies for bug detection proposed by prior work. Santosh Nagarakatte, Sebastian Burckhardt, Milo M. K. Martin, Madan Musuvathi |
PLDI | 2 |
| 2012 | TouchDevelop: app development on mobile devicesabstractMobile devices are becoming the prevalent computing platform for most people. TouchDevelop is a new mobile development environment that enables anyone with a Windows Phone to create new apps directly on the smartphone, without a PC or a traditional keyboard. At the core is a new mobile programming language and editor that was designed with the touchscreen as the only input device in mind. Programs written in TouchDevelop can leverage all phone sensors such as GPS, cameras, accelerometer, gyroscope, and stored personal data such as contacts, songs, pictures. Thousands of programs have already been written and published with TouchDevelop. Nikolai Tillmann, Michal Moskal, Jonathan de Halleux, Manuel Fähndrich, Sebastian Burckhardt |
SIGSOFT FSE | 5 |
| 2011 | Semantics of Concurrent Revisions
Sebastian Burckhardt, Daan Leijen |
ESOP | 1 |
| 2011 | Prettier concurrency: purely functional concurrent revisionsabstractThis article presents an extension to the work of Launchbury and Peyton-Jones on the ST monad. Using a novel model for concurrency, called concurrent revisions [3,5], we show how we can use concurrency together with imperative mutable variables, while still being able to safely convert such computations (in the Rev monad) into pure values again. Daan Leijen, Manuel Fähndrich, Sebastian Burckhardt |
Haskell | 3 |
| 2011 | Two for the price of one: a model for parallel and incremental computationabstractParallel or incremental versions of an algorithm can significantly outperform their counterparts, but are often difficult to develop. Programming models that provide appropriate abstractions to decompose data and tasks can simplify parallelization. We show in this work that the same abstractions can enable both parallel and incremental execution. We present a novel algorithm for parallel self-adjusting computation. This algorithm extends a deterministic parallel programming model (concurrent revisions) with support for recording and repeating computations. On record, we construct a dynamic dependence graph of the parallel computation. On repeat, we reexecute only parts whose dependencies have changed. Sebastian Burckhardt, Daan Leijen, Caitlin Sadowski, Jaeheon Yi, Thomas Ball 0001 |
OOPSLA | 1 |
| 2011 | Practical parallel and concurrent programmingabstractMulticore computers are now the norm. Taking advantage of these multiple cores entails parallel and concurrent programming. There is therefore a pressing need for courses that teach effective programming on multicore architectures. We believe that such courses should emphasize high-level abstractions for performance and correctness and be supported by tools. This paper presents a set of freely available course materials for parallel and concurrent programming, along with a testing tool for performance and correctness concerns called Alpaca (A Lovely Parallelism And Concurrency Analyzer). These course materials can be used for a comprehensive parallel and concurrent programming course, à la carte throughout an existing curriculum, or as starting points for graduate special topics courses. We also discuss tradeoffs we made in terms of what to include in course materials. Caitlin Sadowski, Thomas Ball 0001, Judith Bishop, Sebastian Burckhardt, Ganesh Gopalakrishnan, Joseph Mayo, Madan Musuvathi, Shaz Qadeer, Stephen Toub |
SIGCSE | 4 |
| 2010 | A randomized scheduler with probabilistic guarantees of finding bugsabstractThis paper presents a randomized scheduler for finding concurrency bugs. Like current stress-testing methods, it repeatedly runs a given test program with supplied inputs. However, it improves on stress-testing by finding buggy schedules more effectively and by quantifying the probability of missing concurrency bugs. Key to its design is the characterization of the depth of a concurrency bug as the minimum number of scheduling constraints required to find it. In a single run of a program with n threads and k steps, our scheduler detects a concurrency bug of depth d with probability at least 1/nkd-1. We hypothesize that in practice, many concurrency bugs (including well-known types such as ordering errors, atomicity violations, and deadlocks) have small bug-depths, and we confirm the efficiency of our schedule randomization by detecting previously unknown and known concurrency bugs in several production-scale concurrent programs. Sebastian Burckhardt, Pravesh Kothari, Madan Musuvathi, Santosh Nagarakatte |
ASPLOS | 1 |
| 2010 | Verifying Local Transformations on Relaxed Memory Models
Sebastian Burckhardt, Madan Musuvathi, Vasu Singh |
CC | 1 |
| 2010 | Concurrent programming with revisions and isolation typesabstractBuilding applications that are responsive and can exploit parallel hardware while remaining simple to write, understand, test, and maintain, poses an important challenge for developers. In particular, it is often desirable to enable various tasks to read or modify shared data concurrently without requiring complicated locking schemes that may throttle concurrency and introduce bugs. Sebastian Burckhardt, Alexandro Baldassin, Daan Leijen |
OOPSLA | 1 |
| 2010 | Effective Data-Race Detection for the Kernel
John Erickson, Madan Musuvathi, Sebastian Burckhardt, Kirk Olynyk |
OSDI | 3 |
| 2010 | Line-up: a complete and automatic linearizability checkerabstractModular development of concurrent applications requires thread-safe components that behave correctly when called concurrently by multiple client threads. This paper focuses on linearizability, a specific formalization of thread safety, where all operations of a concurrent component appear to take effect instantaneously at some point between their call and return. The key insight of this paper is that if a component is intended to be deterministic, then it is possible to build an automatic linearizability checker by systematically enumerating the sequential behaviors of the component and then checking if each its concurrent behavior is equivalent to some sequential behavior. Sebastian Burckhardt, Chris Dern, Madan Musuvathi, Roy Tan |
PLDI | 1 |
| 2010 | On the verification problem for weak memory modelsabstractWe address the verification problem of finite-state concurrent programs running under weak memory models. These models capture the reordering of program (read and write) operations done by modern multi-processor architectures for performance. The verification problem we study is crucial for the correctness of concurrency libraries and other performance-critical system services employing lock-free synchronization, as well as for the correctness of compiler backends that generate code targeted to run on such architectures. Mohamed Faouzi Atig, Ahmed Bouajjani, Sebastian Burckhardt, Madan Musuvathi |
POPL | 3 |
| 2010 | GAMBIT: effective unit testing for concurrency librariesabstractAs concurrent programming becomes prevalent, software providers are investing in concurrency libraries to improve programmer productivity. Concurrency libraries improve productivity by hiding error-prone, low-level synchronization from programmers and providing higher-level concurrent abstractions. Testing such libraries is difficult, however, because concurrency failures often manifest only under particular scheduling circumstances. Current best testing practices are often inadequate: heuristic-guided fuzzing is not systematic, systematic schedule enumeration does not find bugs quickly, and stress testing is neither systematic nor fast. Katherine E. Coons, Sebastian Burckhardt, Madan Musuvathi |
PPoPP | 2 |
| 2010 | Preemption Sealing for Efficient Concurrency Testing
Thomas Ball 0001, Sebastian Burckhardt, Katherine E. Coons, Madan Musuvathi, Shaz Qadeer |
TACAS | 2 |
| 2009 | The design of a task parallel libraryabstractThe Task Parallel Library (TPL) is a library for .NET that makes it easy to take advantage of potential parallelism in a program. The library relies heavily on generics and delegate expressions to provide custom control structures expressing structured parallelism such as map-reduce in user programs. The library implementation is built around the notion of a task as a finite CPU-bound computation. To capture the ubiquitous apply-to-all pattern the library also introduces the novel concept of a replicable task. Tasks and replicable tasks are assigned to threads using work stealing techniques, but unlike traditional implementations based on the THE protocol, the library uses a novel data structure called a 'duplicating queue'. A surprising feature of duplicating queues is that they have sequentially inconsistent behavior on architectures with weak memory models, but capture this non-determinism in a benign way by sometimes duplicating elements. TPL ships as part of the Microsoft Parallel Extensions for the .NET framework 4.0, and forms the foundation of Parallel LINQ queries (however, note that the productized TPL library may differ in significant ways from the basic design described in this article). Daan Leijen, Wolfram Schulte, Sebastian Burckhardt |
OOPSLA | 3 |
| 2008 | Effective Program Verification for Relaxed Memory Models
Sebastian Burckhardt, Madan Musuvathi |
CAV | 1 |
| 2007 | CheckFence: checking consistency of concurrent data types on relaxed memory modelsabstractConcurrency libraries can facilitate the development of multi-threaded programs by providing concurrent implementations of familiar data types such as queues or sets. There exist many optimized algorithms that can achieve superior performance on multiprocessors by allowing concurrent data accesses without using locks. Unfortunately, such algorithms can harbor subtle concurrency bugs. Moreover, they requirememory ordering fences to function correctly on relaxed memory models. Sebastian Burckhardt, Rajeev Alur, Milo M. K. Martin |
PLDI | 1 |
| 2006 | Bounded Model Checking of Concurrent Data Types on Relaxed Memory Models: A Case Study
Sebastian Burckhardt, Rajeev Alur, Milo M. K. Martin |
CAV | 1 |
| 2005 | Verifying Safety of a Token Coherence Implementation by Parametric Compositional Refinement
Sebastian Burckhardt, Rajeev Alur, Milo M. K. Martin |
VMCAI | 1 |