flâneur — a map of the web's best reading

Testing Distributed Systems for Linearizability

anishathalye.com · 1,883 words · saved by 1 readers

Testing distributed systems is challenging due to concurrency and nondeterminism.

Distributed systems are challenging to implement correctly because they must handle concurrency and failure. Networks can delay, duplicate, reorder, and drop packets, and machines can fail at any time. Even when designs are proven correct on paper, it is difficult to avoid subtle bugs in implementations. Unless we want to use formal methods 1 , we have to test systems if we want assurance that implementations are correct. Testing distributed systems is challenging, too. Concurrency and nondeterminism make it difficult to catch bugs in tests, especially when the most subtle bugs surface only un

Explore this link on the map →

related reading