BlockRace: A Big Data Approach to Dynamic Block-based Data Race Detection for Multithreaded Programs

The advent of multicore systems and distributed frameworks enables distributed strategies to address challenges in large-scale divisible problems by decomposing them into small ones, processing the corresponding sub-solutions and aggregating these sub-solutions into the final result. However, dynami...

Full description

Saved in:
Bibliographic Details
Published in:2020 IEEE/ACM 15th International Conference on Automation of Software Test (AST) pp. 71 - 80
Main Authors: Mei, Xiupei, Wei, Zhengyuan, Zhang, Hao, Chan, W.K.
Format: Conference Proceeding
Language:English
Published: ACM 01.10.2020
Subjects:
ISSN:2833-9061
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:The advent of multicore systems and distributed frameworks enables distributed strategies to address challenges in large-scale divisible problems by decomposing them into small ones, processing the corresponding sub-solutions and aggregating these sub-solutions into the final result. However, dynamic online detection of data races in execution traces of multithreaded programs is challenging to be parallelized due to their inherent historic event sensitivity and incremental inference of happens-before transitive closure. To examine the extent of such detection to be transformed into parallel versions, in this paper, we present BlockRace, a novel dynamic block-based data race detection technique, which precisely detects data races in such traces and checks pairs of events blocks in parallel using its novel strategy. We evaluate BlockRace on 18 programs, and the results show that BlockRace achieves 1.96x to 5.5x speedups compared to its sequential counterparts. To the best of our knowledge, BlockRace is the first technique to detect races in block pairs where these block pairs can be run in parallel on Big Data frameworks.
ISSN:2833-9061
DOI:10.1145/3387903.3389311