C11Tester: A race detector for C/C++ atomics

16Citations
Citations of this article
17Readers
Mendeley users who have this article in their library.

Abstract

Writing correct concurrent code that uses atomics under the C/C++ memory model is extremely difficult. We present C11Tester, a race detector for the C/C++ memory model that can explore executions in a larger fragment of the C/C++ memory model than previous race detector tools. Relative to previous work, C11Tester's larger fragment includes behaviors that are exhibited by ARM processors. C11Tester uses a new constraint-based algorithm to implement modification order that is optimized to allow C11Tester to make decisions in terms of application-visible behaviors. We evaluate C11Tester on several benchmark applications, and compare C11Tester's performance to both tsan11rec, the state of the art tool that controls scheduling for C/C++; and tsan11, the state of the art tool that does not control scheduling.

Cite

CITATION STYLE

APA

Luo, W., & Demsky, B. (2021). C11Tester: A race detector for C/C++ atomics. In International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS (pp. 630–646). Association for Computing Machinery. https://doi.org/10.1145/3445814.3446711

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free