Assessing the understandability of a distributed algorithm by tweeting buggy pseudocode
Martin Kleppmann
University of Cambridge, Department of Computer Science and Technology, Technical Report UCAM-CL-TR-969,
May 2022.
Abstract
Designing algorithms for distributed systems has a reputation of being a difficult and error-prone
task, but this difficulty is rarely measured or quantified in any way. This report tells the story
of one informal experiment, in which users on Twitter were invited to identify the bug in an
incorrect CRDT algorithm. Over the following 11 hours, at least 16 people (many of whom are
professional software engineers) made attempts to find the bug, but most were unsuccessful. The two
people who did identify the bug were both PhD students specialising in CRDTs. This result may serve
as evidence of the difficulty of designing correct CRDT algorithms.