TitleTeaching rigorous distributed systems with efficient model checking
Publication TypeConference Paper
Year of Publication2019
AuthorsMichael E, Woos D, Anderson T, Ernst MD, Tatlock Z
Conference NameEuroSys
Pagination1-15
Date or Month PublishedMarch
Conference LocationDresden, Germany
AbstractWriting correct distributed systems code is difficult, especially for novice programmers. The inherent asynchrony and need for fault-tolerance make errors almost inevitable. Industrial-strength testing and model checking have been shown to be effective at uncovering bugs, but they come at a cost –- in both time and effort –- that is far beyond what students can afford. To address this, we have developed an efficient model checking framework and visual debugger for distributed systems, with the goal of helping students find and fix bugs in near real-time. We identify two novel techniques for reducing the search state space to more efficiently find bugs in student implementations. We report our experiences using these tools to help over two hundred students build a correct, linearizable, fault-tolerant, dynamically-sharded key–value store.
Citation KeyMichaelWAET2019