Skip to content

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.


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.