Christian J. Bell

dblp:34/8488 · DBLP profile ↗
← Back
4ranked-venue papers
2as first author
1since 2021 · last 2022
—ORCID · none

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

Software engineering, systems software and programming languages · 4 · 2 first-author · 1 since 2021Theory 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.

Software engineering, system software, and programming languages
2 papers
Concurrent programming · 62% Program verification · 38%
Computer architecture, parallel and distributed computing, and storage systems
1 paper
Distributed systems · 67% Storage systems · 33%

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

TopicWeightPapersLastEvidence papers
Program verification
modular verification
0.822022
C4: verified transactional objects · Proc. ACM Program. Lang. 2022
Chapar: certified causally consistent distributed key-value stores · POPL 2016
Concurrent programming › atomicity
linearizability
0.612022
C4: verified transactional objects · Proc. ACM Program. Lang. 2022
Concurrent programming
transactional memory
0.612022
C4: verified transactional objects · Proc. ACM Program. Lang. 2022
Distributed systems › consistency models
causal consistency
0.212016
Chapar: certified causally consistent distributed key-value stores · POPL 2016
Distributed systems
consistency models
0.212016
Chapar: certified causally consistent distributed key-value stores · POPL 2016
Storage systems › key-value storage
replicated key-value store
0.212016
Chapar: certified causally consistent distributed key-value stores · POPL 2016
Concurrent programming › concurrency control
serializability
0.212022
C4: verified transactional objects · Proc. ACM Program. Lang. 2022

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

syntactic transformers · 0.6mechanization in coq · 0.6interaction tree · 0.6operational semantics · 0.5model checking · 0.5coq · 0.5
YearPublicationVenuePosition
2022 C4: verified transactional objects
abstract
Transactional objects combine the performance of classical concurrent objects with the high-level programmability of transactional memory. However, verifying the correctness of transactional objects is tricky, requiring reasoning simultaneously about classical concurrent objects, which guarantee the atomicity of individual methods—the property known as linearizability—and about software-transactional-memory libraries, which guarantee the atomicity of user-defined sequences of method calls—or serializability. We present a formal-verification framework called C4, built up from the familiar notion of linearizability and its compositional properties, that allows proof of both kinds of libraries, along with composition of theorems from both styles to prove correctness of applications or further libraries. We apply the framework in a significant case study, verifying a transactional set object built out of both classical and transactional components following the technique of transactional predication ; the proof is modular, reasoning separately about the transactional and nontransactional parts of the implementation. Central to our approach is the use of syntactic transformers on interaction trees —i.e., transactional libraries that transform client code to enforce particular synchronization disciplines. Our framework and case studies are mechanized in Coq.
Mohsen Lesani, Li-yao Xia, Anders Kaseorg, Christian J. Bell, Adam Chlipala, Benjamin C. Pierce, Steve Zdancewic
Proc. ACM Program. Lang.4
2016 Chapar: certified causally consistent distributed key-value stores
abstract
Today’s Internet services are often expected to stay available and render high responsiveness even in the face of site crashes and network partitions. Theoretical results state that causal consistency is one of the strongest consistency guarantees that is possible under these requirements, and many practical systems provide causally consistent key-value stores. In this paper, we present a framework called Chapar for modular verification of causal consistency for replicated key-value store implementations and their client programs. Specifically, we formulate separate correctness conditions for key-value store implementations and for their clients. The interface between the two is a novel operational semantics for causal consistency. We have verified the causal consistency of two key-value store implementations from the literature using a novel proof technique. We have also implemented a simple automatic model checker for the correctness of client programs. The two independently verified results for the implementations and clients can be composed to conclude the correctness of any of the programs when executed with any of the implementations. We have developed and checked our framework in Coq, extracted it to OCaml, and built executable stores.
Mohsen Lesani, Christian J. Bell, Adam Chlipala
POPL2
2013 Certifiably Sound Parallelizing Transformations
Christian J. Bell
CPP1
2010 Concurrent Separation Logic for Pipelined Parallelization
Christian J. Bell, Andrew W. Appel, David Walker 0001
SAS1