RaceInjector: Injecting Races to Evaluate and Learn Dynamic Race Detection Algorithms

PROCEEDINGS OF THE 12TH ACM SIGPLAN INTERNATIONAL WORKSHOP ON THE STATE OF THE ART IN PROGRAM ANALYSIS, SOAP 2023(2023)

引用 0|浏览20
暂无评分
摘要
There exist no sound, scalable methods to assemble comprehensive datasets of concurrent programs annotated with data races. As a consequence, it is unclear how well the multiple heuristics and SMT-based algorithms, that have been proposed over the last three decades to detect data races, perform. To address this problem, we propose RACEINJECTOR-an SMT-based approach which, for any given program, creates arbitrarily many program traces of it containing injected data races. The injected races are guaranteed to follow the given program's semantics. RACEINJECTOR hence can produce an arbitrarily large, labeled benchmark which is independent of how detection algorithms work. We demonstrate RACEINJECTOR by injecting races into popular program benchmarks and generating a small dataset of traces with races in them. Among the traces RACEINJECTOR generates, we begin to find counterexamples which four state-of-the-art race detection algorithms fail to detect. We thus demonstrate the utility of generating such datasets, and recommend using them to train machine learning-based models which can potentially replace and improve upon existing race-detection heuristics.
更多
查看译文
关键词
Dynamic race detection algorithms,Race injection,Dataset generation,SMT-solvers
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要