DeepAI AI Chat
Log In Sign Up

C11Tester: A Race Detector for C/C++ Atomics Technical Report

by   Weiyu Luo, et al.

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.


page 1

page 2

page 3

page 4


LLOV: A Fast Static Data-Race Checker for OpenMP Programs

In the era of Exascale computing, writing efficient parallel programs is...

Comparative Analysis of Dynamic Data Race Detection Techniques

The consequences of data races can be potentially very problematic [1], ...

A Study of Real-World Data Races in Golang

The concurrent programming literature is rich with tools and techniques ...

Out-of-core Training for Extremely Large-Scale Neural Networks With Adaptive Window-Based Scheduling

While large neural networks demonstrate higher performance in various ta...

Analyzing FreeRTOS Scheduling Behaviors with the Spin Model Checker

FreeRTOS is a real-time operating system with configurable scheduling po...

Improving the "Correct Eventual Consistency" Tool

Preserving invariants while designing distributed applications under wea...

Digital Image Forensics vs. Image Composition: An Indirect Arms Race

The field of image composition is constantly trying to improve the ways ...