Ready, set, Go! Data-race detection and the Go language
Abstract
Data races are often discussed in the context of lock acquisition and release, with race-detection algorithms routinely relying on vector clocks as a means of capturing the relative ordering of events from different threads. In this paper, we present a data-race detector for a language with channel communication as its sole synchronization primitive, and provide a semantics directly tied to the happens-before relation, thus forging the notion of vector clocks.
- Publication:
-
arXiv e-prints
- Pub Date:
- October 2019
- DOI:
- 10.48550/arXiv.1910.12643
- arXiv:
- arXiv:1910.12643
- Bibcode:
- 2019arXiv191012643S
- Keywords:
-
- Computer Science - Software Engineering;
- Computer Science - Programming Languages
- E-Print:
- 22nd Brazilian Symposium on Formal Methods