VLDB 2026 Research / reviewers in the wild / expert
Doug Woos
dblp:149/9232
· DBLP profile ↗
9ranked-venue papers
1as first author
0since 2021 · last 2019
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 5 · 1 first-authorSystems, architecture and hardware · 3Computer networks · 1Theory of computation · 1 · 1 first-author
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.
| Computer architecture, parallel and distributed computing, and storage systems
5 papers |
Distributed systems · 72% Storage systems · 16% Electronic design automation · 8% | |
| Computer networks
2 papers |
Network management and operations · 59% Internet architecture and protocols · 30% Routing and switching · 12% | |
| Software engineering, system software, and programming languages
5 papers |
Operating systems · 55% Program verification · 45% |
Topics — the 23 heaviest of 26, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Distributed systems
fault tolerance |
0.6 | 2 | 2019 | Teaching Rigorous Distributed Systems With Efficient Model Checking · EuroSys 2019 Verdi: a framework for implementing and formally verifying distributed systems · PLDI 2015 |
Storage systems
key-value storage |
0.5 | 2 | 2019 | Teaching Rigorous Distributed Systems With Efficient Model Checking · EuroSys 2019 Arrakis: The Operating System Is the Control Plane · ACM Trans. Comput. Syst. 2016 |
Operating systems › kernel
kernel design |
0.4 | 2 | 2016 | Arrakis: The Operating System Is the Control Plane · ACM Trans. Comput. Syst. 2016 Arrakis: The Operating System is the Control Plane · OSDI 2014 |
Distributed systems
distributed coordination |
0.4 | 1 | 2019 | Teaching Rigorous Distributed Systems With Efficient Model Checking · EuroSys 2019 |
Distributed systems › consistency models
linearizability |
0.4 | 1 | 2019 | Teaching Rigorous Distributed Systems With Efficient Model Checking · EuroSys 2019 |
Program verification
deductive verification |
0.3 | 1 | 2018 | Modularity for decidability of deductive verification with applications to distributed systems · PLDI 2018 |
Network management and operations › configuration verification
BGP configuration verification |
0.2 | 1 | 2016 | Scalable verification of border gateway protocol configurations with an SMT solver · OOPSLA 2016 |
Network management and operations
configuration verification |
0.2 | 1 | 2016 | Scalable verification of border gateway protocol configurations with an SMT solver · OOPSLA 2016 |
Network management and operations › network verification
SMT-based verification |
0.2 | 1 | 2016 | Scalable verification of border gateway protocol configurations with an SMT solver · OOPSLA 2016 |
Operating systems › virtualization
i/o virtualization |
0.2 | 1 | 2016 | Arrakis: The Operating System Is the Control Plane · ACM Trans. Comput. Syst. 2016 |
Distributed systems
distributed system verification |
0.2 | 1 | 2015 | Verdi: a framework for implementing and formally verifying distributed systems · PLDI 2015 |
Electronic design automation › hardware verification and test
fault modeling |
0.2 | 1 | 2015 | Verdi: a framework for implementing and formally verifying distributed systems · PLDI 2015 |
Distributed systems
replication |
0.2 | 1 | 2015 | Verdi: a framework for implementing and formally verifying distributed systems · PLDI 2015 |
Distributed systems › replication
state machine replication |
0.2 | 1 | 2015 | Verdi: a framework for implementing and formally verifying distributed systems · PLDI 2015 |
Internet architecture and protocols › network evolution
incremental deployment |
0.2 | 1 | 2014 | One tunnel is (often) enough · SIGCOMM 2014 |
Internet architecture and protocols
network resilience |
0.2 | 1 | 2014 | One tunnel is (often) enough · SIGCOMM 2014 |
Program verification
model checking |
0.1 | 1 | 2019 | Teaching Rigorous Distributed Systems With Efficient Model Checking · EuroSys 2019 |
Routing and switching › inter-domain routing
BGP |
0.1 | 1 | 2016 | Scalable verification of border gateway protocol configurations with an SMT solver · OOPSLA 2016 |
Routing and switching
inter-domain routing |
0.1 | 1 | 2016 | Scalable verification of border gateway protocol configurations with an SMT solver · OOPSLA 2016 |
Cloud and datacenter computing
virtualization |
0.1 | 1 | 2016 | Arrakis: The Operating System Is the Control Plane · ACM Trans. Comput. Syst. 2016 |
Program verification › proof assistants
coq |
0.1 | 1 | 2015 | Verdi: a framework for implementing and formally verifying distributed systems · PLDI 2015 |
Program verification
proof assistants |
0.1 | 1 | 2015 | Verdi: a framework for implementing and formally verifying distributed systems · PLDI 2015 |
Network security › attack strategy
denial-of-service attack |
0.1 | 1 | 2014 | One tunnel is (often) enough · SIGCOMM 2014 |
Methods — techniques the papers use, named apart from their topics
visual debugging · 1.1model checking · 1.1modular reasoning · 0.7automated theorem proving · 0.7kernel bypass · 0.5direct device access · 0.5mechanical proof · 0.4linearizability proof · 0.4coq · 0.4tunneling · 0.4symbolic execution · 0.2predicate abstraction · 0.2SMT solving · 0.2
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2019 | Teaching Rigorous Distributed Systems With Efficient Model CheckingabstractWriting correct distributed systems code is difficult, especially for novice programmers. The inherent asynchrony and need for fault-tolerance make errors almost inevitable. Industrial-strength testing and model checking have been shown to be effective at uncovering bugs, but they come at a cost --- in both time and effort --- that is far beyond what students can afford. To address this, we have developed an efficient model checking framework and visual debugger for distributed systems, with the goal of helping students find and fix bugs in near real-time. We identify two novel techniques for reducing the search state space to more efficiently find bugs in student implementations. We report our experiences using these tools to help over two hundred students build a correct, linearizable, fault-tolerant, dynamically-sharded key--value store. Ellis Michael, Doug Woos, Thomas E. Anderson, Michael D. Ernst, Zachary Tatlock |
EuroSys | 2 |
| 2018 | Modularity for decidability of deductive verification with applications to distributed systemsabstractProof automation can substantially increase productivity in formal verification of complex systems. However, unpredictablility of automated provers in handling quantified formulas presents a major hurdle to usability of these tools. We propose to solve this problem not by improving the provers, but by using a modular proof methodology that allows us to produce decidable verification conditions. Decidability greatly improves predictability of proof automation, resulting in a more practical verification approach. We apply this methodology to develop verified implementations of distributed protocols, demonstrating its effectiveness. Marcelo Taube, Giuliano Losa, Kenneth L. McMillan, Oded Padon, Shmuel Sagiv, Sharon Shoham, James R. Wilcox, Doug Woos |
PLDI | 8 |
| 2016 | Planning for change in a formal verification of the raft consensus protocolabstractWe present the first formal verification of state machine safety for the Raft consensus protocol, a critical component of many distributed systems. We connected our proof to previous work to establish an end-to-end guarantee that our implementation provides linearizable state machine replication. This proof required iteratively discovering and proving 90 system invariants. Our verified implementation is extracted to OCaml and runs on real networks. The primary challenge we faced during the verification process was proof maintenance, since proving one invariant often required strengthening and updating other parts of our proof. To address this challenge, we propose a methodology of planning for change during verification. Our methodology adapts classical information hiding techniques to the context of proof assistants, factors out common invariant-strengthening patterns into custom induction principles, proves higher-order lemmas that show any property proved about a particular component implies analogous properties about related components, and makes proofs robust to change using structural tactics. We also discuss how our methodology may be applied to systems verification more broadly. Doug Woos, James R. Wilcox, Steve Anton, Zachary Tatlock, Michael D. Ernst, Thomas E. Anderson |
CPP | 1 |
| 2016 | Scalable verification of border gateway protocol configurations with an SMT solverabstractInternet Service Providers (ISPs) use the Border Gateway Protocol (BGP) to announce and exchange routes for de- livering packets through the internet. ISPs must carefully configure their BGP routers to ensure traffic is routed reli- ably and securely. Correctly configuring BGP routers has proven challenging in practice, and misconfiguration has led to worldwide outages and traffic hijacks. This paper presents Bagpipe, a system that enables ISPs to declaratively express BGP policies and that automatically verifies that router configurations implement such policies. The novel initial network reduction soundly reduces policy verification to a search for counterexamples in a finite space. An SMT-based symbolic execution engine performs this search efficiently. Bagpipe reduces the size of its search space using predicate abstraction and parallelizes its search using symbolic variable hoisting. Bagpipe's policy specification language is expressive: we expressed policies inferred from real AS configurations, policies from the literature, and policies for 10 Juniper TechLibrary configuration scenarios. Bagpipe is efficient: we ran it on three ASes with a total of over 240,000 lines of Cisco and Juniper BGP configuration. Bagpipe is effective: it revealed 19 policy violations without issuing any false positives. Konstantin Weitz, Doug Woos, Emina Torlak, Michael D. Ernst, Arvind Krishnamurthy, Zachary Tatlock |
OOPSLA | 2 |
| 2016 | Arrakis: The Operating System Is the Control PlaneabstractRecent device hardware trends enable a new approach to the design of network server operating systems. In a traditional operating system, the kernel mediates access to device hardware by server applications to enforce process isolation as well as network and disk security. We have designed and implemented a new operating system, Arrakis, that splits the traditional role of the kernel in two. Applications have direct access to virtualized I/O devices, allowing most I/O operations to skip the kernel entirely, while the kernel is re-engineered to provide network and disk protection without kernel mediation of every operation. We describe the hardware and software changes needed to take advantage of this new abstraction, and we illustrate its power by showing improvements of 2 to 5 × in latency and 9 × throughput for a popular persistent NoSQL store relative to a well-tuned Linux implementation. Simon Peter 0001, Jialin Li 0001, Irene Zhang, Dan R. K. Ports, Doug Woos, Arvind Krishnamurthy, Thomas E. Anderson, Timothy Roscoe |
ACM Trans. Comput. Syst. | 5 |
| 2015 | Verdi: a framework for implementing and formally verifying distributed systemsabstractDistributed systems are difficult to implement correctly because they must handle both concurrency and failures: machines may crash at arbitrary points and networks may reorder, drop, or duplicate packets. Further, their behavior is often too complex to permit exhaustive testing. Bugs in these systems have led to the loss of critical data and unacceptable service outages. We present Verdi, a framework for implementing and formally verifying distributed systems in Coq. Verdi formalizes various network semantics with different faults, and the developer chooses the most appropriate fault model when verifying their implementation. Furthermore, Verdi eases the verification burden by enabling the developer to first verify their system under an idealized fault model, then transfer the resulting correctness guarantees to a more realistic fault model without any additional proof burden. To demonstrate Verdi's utility, we present the first mechanically checked proof of linearizability of the Raft state machine replication algorithm, as well as verified implementations of a primary-backup replication system and a key-value store. These verified systems provide similar performance to unverified equivalents. James R. Wilcox, Doug Woos, Pavel Panchekha, Zachary Tatlock, Xi Wang 0005, Michael D. Ernst, Thomas E. Anderson |
PLDI | 2 |
| 2014 | Towards High-Performance Application-Level Storage Management
Simon Peter 0001, Jialin Li 0001, Irene Zhang, Dan R. K. Ports, Thomas E. Anderson, Arvind Krishnamurthy, Mark Zbikowski, Doug Woos |
HotStorage | 8 |
| 2014 | Arrakis: The Operating System is the Control Plane
Simon Peter 0001, Jialin Li 0001, Irene Zhang, Dan R. K. Ports, Doug Woos, Arvind Krishnamurthy, Thomas E. Anderson, Timothy Roscoe |
OSDI | 5 |
| 2014 | One tunnel is (often) enoughabstractA longstanding problem with the Internet is that it is vulnerable to outages, black holes, hijacking and denial of service. Although architectural solutions have been proposed to address many of these issues, they have had difficulty being adopted due to the need for widespread adoption before most users would see any benefit. This is especially relevant as the Internet is increasingly used for applications where correct and continuous operation is essential. Simon Peter 0001, Umar Javed, Qiao Zhang 0001, Doug Woos, Thomas E. Anderson, Arvind Krishnamurthy |
SIGCOMM | 4 |