The Research archive provides access to all Research articles published in past issues of Communications of the ACM.
Exploiting parallelism has become the primary means to higher performance. Shared memory is a pervasively used programming model. Unfortunately, shared-memory programs are…
Multithreaded programs are notoriously prone to race conditions. Prior work developed precise dynamic race detectors that never report false alarms. However, these checkers employ expensive data structures that result in significant…
GOLDILOCKS is a Java runtime that monitors program executions and throws a DataRaceException
when a data race is about to occur. This prevents racy accesses from taking place…