Efficient detection of data races in concurrent signal handlers

Guy Martin Tchamgoue, Kyong Hoon Kim, Yong Kee Jun

Research output: Contribution to journalArticlepeer-review

3 Scopus citations

Abstract

Data races are notorious bugs in shared-memory concurrent programs since they are hard to reproduce and can lead programs into unintended nondeterministic executions. In case of sequential programs with concurrent signal handlers, unfortunately, existing tools are either inappropriate to be directly used or unpractically high in the overhead of time and/or space to detect at least one data race in every signal handler. This paper presents an efficient and precise on-the-fly technique for detecting at least one data race for every shared memory in every concurrent signal handler. This scheme generates concurrency information, called label, with constant size for the sequential program or every instance of the concurrent signal handlers. A pair of constant-sized labels can be used to determine the logical concurrency between instructions accessing the same shared memory, also in a constant amount of time. An evaluation of our technique reveals the existence of data races in some commonly used programs.

Original languageEnglish
Pages (from-to)1317-1337
Number of pages21
JournalInformation
Volume15
Issue number3
StatePublished - Mar 2012

Keywords

  • Data races
  • Logical concurrency
  • On-the-fly detection
  • Sequential programs
  • Signal handlers

Fingerprint

Dive into the research topics of 'Efficient detection of data races in concurrent signal handlers'. Together they form a unique fingerprint.

Cite this