Department of Computer Science and Technology

Technical reports

Assessing the understandability of a distributed algorithm by tweeting buggy pseudocode

Martin Kleppmann

May 2022, 15 pages

DOI: 10.48456/tr-969

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.

Full text

PDF (0.5 MB)

BibTeX record

@TechReport{UCAM-CL-TR-969,
  author =	 {Kleppmann, Martin},
  title = 	 {{Assessing the understandability of a distributed algorithm
         	   by tweeting buggy pseudocode}},
  year = 	 2022,
  month = 	 may,
  url = 	 {https://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-969.pdf},
  institution =  {University of Cambridge, Computer Laboratory},
  doi = 	 {10.48456/tr-969},
  number = 	 {UCAM-CL-TR-969}
}