Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

David Swasey

dblp:20/5607 · DBLP profile ↗
← Back
5ranked-venue papers
1as first author
1since 2021 · last 2025
0009-0008-2152-3966ORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 3 · 1 first-author · 1 since 2021Security and privacy · 2

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
Program verification · 84% Concurrent programming · 16%
Network and information security
1 paper
Systems and software security · 100%

Topics — the 4 heaviest of 6, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Program verification › program logic › separation logic
concurrent separation logic
0.522017
Robust and compositional verification of object capability patterns · Proc. ACM Program. Lang. 2017
Iris: Monoids and Invariants as an Orthogonal Basis for Concurrent Reasoning · POPL 2015
Program verification
program logic
0.322017
Iris: Monoids and Invariants as an Orthogonal Basis for Concurrent Reasoning · POPL 2015
Robust and compositional verification of object capability patterns · Proc. ACM Program. Lang. 2017
Program verification › program logic
separation logic
0.312017
Robust and compositional verification of object capability patterns · Proc. ACM Program. Lang. 2017
Program verification › program logic
hoare logic
0.112015
Iris: Monoids and Invariants as an Orthogonal Basis for Concurrent Reasoning · POPL 2015

Methods — techniques the papers use, named apart from their topics

robust safety · 0.6iris framework · 0.6coq mechanization · 0.6view shift · 0.2partial commutative monoids · 0.2
YearPublicationVenuePosition
2025 Modular, Full-System Verification
abstract
We present an approach to specifying operating systems that is both highly modular and supports deriving various properties necessary to modern operating systems. The approach combines a machine semantics decomposed by privilege levels with a separation logic specification of the operating system API. We describe how the specification style enables natural proofs of robust safety in addition to deep behavioral refinements of user-mode applications running atop the OS. This approach enables simple and flexible concurrent specifications and unlocks new opportunities for whole-system verification.
Gregory Malecha, Hoang-Hai Dang, Paolo G. Giarrusso, Simon Hudon, Jan-Oliver Kaiser, David Swasey
HotOS6
2017 Robust and compositional verification of object capability patterns
abstract
In scenarios such as web programming, where code is linked together from multiple sources, object capability patterns (OCPs) provide an essential safeguard, enabling programmers to protect the private state of their objects from corruption by unknown and untrusted code. However, the benefits of OCPs in terms of program verification have never been properly formalized. In this paper, building on the recently developed Iris framework for concurrent separation logic, we develop OCPL, the first program logic for compositionally specifying and verifying OCPs in a language with closures, mutable state, and concurrency. The key idea of OCPL is to account for the interface between verified and untrusted code by adopting a well-known idea from the literature on security protocol verification, namely robust safety . Programs that export only properly wrapped values to their environment can be proven robustly safe, meaning that their untrusted environment cannot violate their internal invariants. We use OCPL to give the first general, compositional, and machine-checked specs for several commonly-used OCPs—including the dynamic sealing , membrane , and caretaker patterns—which we then use to verify robust safety for representative client code. All our results are fully mechanized in the Coq proof assistant.
David Swasey, Deepak Garg 0001, Derek Dreyer
Proc. ACM Program. Lang.1
2015 Iris: Monoids and Invariants as an Orthogonal Basis for Concurrent Reasoning
abstract
We present Iris, a concurrent separation logic with a simple premise: monoids and invariants are all you need. Partial commutative monoids enable us to express---and invariants enable us to enforce---user-defined *protocols* on shared state, which are at the conceptual core of most recent program logics for concurrency. Furthermore, through a novel extension of the concept of a *view shift*, Iris supports the encoding of *logically atomic specifications*, i.e., Hoare-style specs that permit the client of an operation to treat the operation essentially as if it were atomic, even if it is not.
Ralf Jung 0002, David Swasey, Filip Sieczkowski, Kasper Svendsen, Aaron Turon, Lars Birkedal, Derek Dreyer
POPL2
2012 Modeling and Enhancing Android's Permission System
Elli Fragkaki, Lujo Bauer, Limin Jia 0001, David Swasey
ESORICS4
2009 xDomain: cross-border proofs of access
abstract
A number of research systems have demonstrated the benefits of accompanying each request with a machine-checkable proof that the request complies with access-control policy - a technique called proof-carrying authorization. Numerous authorization logics have been proposed as vehicles by which these proofs can be expressed and checked. A challenge in building such systems is how to allow delegation between institutions that use different authorization logics. Instead of trying to develop the authorization logic that all institutions should use, we propose a framework for interfacing different, mutually incompatible authorization logics. Our framework provides a very small set of primitives that defines an interface for communication between different logics without imposing any fundamental constraints on their design or nature. We illustrate by example that a variety of different logics can communicate over this interface, and show formally that supporting the interface does not impinge on the integrity of each individual logic. We also describe an architecture for constructing authorization proofs that contain components from different logics and report on the performance of a prototype proof checker.
Lujo Bauer, Limin Jia 0001, Michael K. Reiter, David Swasey
SACMAT4