• 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