Published May 8, 2023
| Version v1
Journal article
Open
WAFFLE: Exposing Memory Ordering Bugs Efficiently with Active Delay Injection
- 1. University of Chicago
- 2. Microsoft Research
Description
Concurrency bugs are difficult to detect, reproduce, and diagnose, as they manifest under rare timing conditions. Recently, active delay injection has proven efficient for exposing one such type of bug --- thread-safety violations --- with low overhead, high coverage, and minimal code analysis. However, how to efficiently apply active delay injection to broader classes of concurrency bugs is still an open question. We aim to answer this question by focusing on MemOrder bugs --- a type of concurrency bug caused by incorrect timing between a memory access to a particular object and the object's initialization or deallocation. We first show experimentally that the current state-of-the-art delay injection technique leads to high overhead and low detection coverage since MemOrder bugs exhibit particular characteristics that cause high delay density and interference. Based on these insights, we propose Waffle --- a delay injection tool that tailors key design points to better match the nature of MemOrder bugs. Evaluating our tool on 11 popular open-source multi-threaded C# applications shows that Waffle can expose more bugs with less overhead than state-of-the-art techniques.
Files
3552326.3567507.pdf
Files
(1.1 MB)
| Name | Size | Download all |
|---|---|---|
|
Article md5:6d830b0618e82543527ec0e61a4bfe35 |
1.1 MB | Preview Download |
Additional details
Identifiers
- DOI
- 10.1145/3552326.3567507
- URL
- https://dl.acm.org/doi/abs/10.1145/3552326.3567507
- Other
- oai:uchicago.tind.io:15937
Related works
- References
- https://dl.acm.org/doi/abs/10.1145/3552326.3567507 (URL)
Funding
- U.S. National Science Foundation
- CCF-2119184
- U.S. National Science Foundation
- CCF-2028427
- U.S. National Science Foundation
- CNS-1956180
- U.S. National Science Foundation
- CCF-1837120
- U.S. National Science Foundation
- CNS-1764039
- Microsoft (United States)
- Meta (United States)
- University of Chicago
- University of Chicago
- Eckhardt Fellowship