DocumentCode :
1783297
Title :
Efficient Data Race Detection for C/C++ Programs Using Dynamic Granularity
Author :
Young Wn Song ; Yann-Hang Lee
Author_Institution :
Comput. Sci. & Eng., Arizona State Univ., Tempe, AZ, USA
fYear :
2014
fDate :
19-23 May 2014
Firstpage :
679
Lastpage :
688
Abstract :
To detect races precisely without false alarms, vector clock based race detectors can be applied if the overhead in time and space can be contained. This is indeed the case for the applications developed in object-oriented programming language where objects can be used as detection units. On the other hand, embedded applications, often written in C/C++, necessitate the use of fine-grained detection approaches that lead to significant execution overhead. In this paper, we present a dynamic granularity algorithm for vector clock based data race detectors. The algorithm exploits the fact that neigh boring memory locations tend to be accessed together and can share the same vector clock archiving dynamic granularity of detection. The algorithm is implemented on top of Fast Track and uses Intel PIN tool for dynamic binary instrumentation. Experimental results on benchmarks show that, on average, the race detection tool using the dynamic granularity algorithm is 43% faster than the Fast Track with byte granularity and is with 60% less memory usage. Comparison with existing industrial tools, Val grind DRD and Intel Inspector XE, also suggests that the proposed dynamic granularity approach is very viable.
Keywords :
C++ language; data handling; object-oriented programming; C/C++ programs; Intel Inspector XE; Intel PIN tool; Val grind DRD industrial tools; byte granularity; dynamic binary instrumentation; dynamic granularity algorithm; execution overhead; fast track; fine-grained detection approaches; object-oriented programming language; vector clock archiving dynamic granularity; vector clock based data race detectors; Clocks; Detectors; Heuristic algorithms; Instruction sets; Memory management; Synchronization; Vectors; Concurrent bug; Multithreaded programs; Race detection;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Parallel and Distributed Processing Symposium, 2014 IEEE 28th International
Conference_Location :
Phoenix, AZ
ISSN :
1530-2075
Print_ISBN :
978-1-4799-3799-8
Type :
conf
DOI :
10.1109/IPDPS.2014.76
Filename :
6877300
Link To Document :
بازگشت