Skip to content

Latest commit

 

History

History
114 lines (79 loc) · 8.43 KB

resources.md

File metadata and controls

114 lines (79 loc) · 8.43 KB

This list is massively under construction!

Some links below only work while on UCSC campus or while logged in with a CruzID.

Big picture

Background on SAT/SMT solver internals

CRDTs and strong eventual consistency

Background

  • Marc Shapiro, Nuno Preguiça, Carlos Baquero, and Marek Zawirski: Conflict-free replicated data types (2011 INRIA tech report): https://pages.lip6.fr/Marc.Shapiro/papers/RR-7687.pdf
    • This paper was published in SSS '11 (https://dl.acm.org/doi/10.5555/2050613.2050642), and that's the version that should be cited, but the tech report version is the one that's free online. It includes discussion of op-based and state-based CRDTs, the equivalence result for the two, assumptions of the underlying network (e.g., causal delivery for op-based CRDTs), and a few examples.
  • Marc Shapiro, Nuno Preguiça, Carlos Baquero, and Marek Zawirski: A comprehensive study of Convergent and Commutative Replicated Data Types: https://hal.inria.fr/inria-00555588/document
    • This is the "companion" tech report to the previous one, and is a more extensive catalog of example CRDTs.

CRDT verification

  • Verifying Strong Eventual Consistency in Distributed Systems by Gomes et al. (OOPSLA '17)
  • Automated Parameterized Verification of CRDTs by Nagar and Jagannathan (CAV '19)

(See the related work sections of both of the above for more on CRDT verification.)

Alternatives to using an off-the-shelf/external SAT/SMT solver

Background on refinement types

Liquid Types and Liquid Haskell stuff

TODO: there are lots more LH papers than this. Some might have lesser or greater relevance to us.

More solver-aided languages

Rosette

Kaplan

Smten

Background on causal consistency and mechanisms for implementing it

Recent work on verifying causal consistency (either with an automated solver, or with a proof assistant):

Custom solvers that resulted in efficiency improvements

These are papers about systems where using an off-the-shelf solver didn't work as well as using a custom one.

  • Guy Katz, Clark Barrett, David Dill, Kyle Julian and Mykel Kochenderfer, Reluplex: An efficient SMT solver for verifying deep neural networks (CAV 2017), https://arxiv.org/pdf/1702.01135.pdf
  • Ge et al., SMT Solving for the Theory of Ordering Constraints (LCPC 2015): https://parasol.tamu.edu/~jeff/academic/coco.pdf
    • Data race prediction in concurrent programs. They figured out that a theory built into Z3 was less efficient to solve and had things they didn't need.

What should I read first to understand causal consistency and how to implement it!?

  • The "Holy Grail" paper
  • The causal memory paper
  • sections 4 and 5 of the CBCAST paper