Software analysis techniques for detecting data race

4Citations
Citations of this article
10Readers
Mendeley users who have this article in their library.

Abstract

Data races are a multithreading bug. They occur when at least two concurrent threads access a shared variable, and at least one access is a write, and the shared variable is not explicitly protected from simultaneous accesses of the threads. Data races are well-known to be hard to debug, mainly because the effect of the conflicting accesses depends on the interleaving of the thread executions. Hence there have been amultitude of research efforts on detecting data races through sophisticated techniques of software analysis by automatically analyzing the behavior of computer programs. Software analysis techniques can be categorized according to the time they are applied: static or dynamic. Static techniques derive program information, such as invariants or program correctness, before runtime from source code, while dynamic techniques examine the behavior at runtime. In this paper, we survey data race detection techniques in each of these two approaches.

Author supplied keywords

Cite

CITATION STYLE

APA

Kang, P. (2017, November 1). Software analysis techniques for detecting data race. IEICE Transactions on Information and Systems. Institute of Electronics, Information and Communication, Engineers, IEICE. https://doi.org/10.1587/transinf.2017EDR0004

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free