Dynamic race detection with LLVM compiler

  • Authors:
  • Konstantin Serebryany;Alexander Potapenko;Timur Iskhodzhanov;Dmitriy Vyukov

  • Affiliations:
  • Google LLC, Moscow, Russia;Google LLC, Moscow, Russia;Google LLC, Moscow, Russia;Google LLC, Moscow, Russia

  • Venue:
  • RV'11 Proceedings of the Second international conference on Runtime verification
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Data races are among the most difficult to detect and costly bugs. Race detection has been studied widely, but none of the existing tools satisfies the requirements of high speed, detailed reports and wide availability at the same time. We describe our attempt to create a tool that works fast, has detailed and understandable reports and is available on a variety of platforms. The race detector is based on our previous work, ThreadSanitizer [1], and the instrumentation is done using the LLVM compiler. We show that applying compiler instrumentation and sampling reduces the slowdown to less than 1.5x, fast enough to use instrumented programs interactively.