Finding Concurrency Bugs With Context-Aware Communication Graphs

Free registration required

Executive Summary

Incorrect thread synchronization often leads to concurrency bugs that manifest nondeterministically and are difficult to detect and fix. Past work on detecting concurrency bugs has addressed the general problem in an ad-hoc fashion, focusing mostly on data races and atomicity violations. Using graphs to represent a multithreaded program execution is very natural, nodes represent static instructions and edges represent communication via shared memory. In this paper the authors make the fundamental observation that such basic context-oblivious graphs do not encode enough information to enable accurate bug detection.

  • Format: PDF
  • Size: 450.6 KB