Premium
High‐level data races
Author(s) -
Artho Cyrille,
Havelund Klaus,
Biere Armin
Publication year - 2003
Publication title -
software testing, verification and reliability
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.216
H-Index - 49
eISSN - 1099-1689
pISSN - 0960-0833
DOI - 10.1002/stvr.281
Subject(s) - computer science , notation , race (biology) , consistency (knowledge bases) , property (philosophy) , abstract data type , abstraction , theoretical computer science , data type , data structure , programming language , mathematics , artificial intelligence , arithmetic , epistemology , philosophy , botany , biology
Data races are a common problem in concurrent and multi‐threaded programming. Experience shows that the classical notion of a data race is not powerful enough to capture certain types of inconsistencies occurring in practice. This paper investigates data races on a higher abstraction layer. This enables detection of inconsistent uses of shared variables, even if no classical race condition occurs. For example, a data structure representing a coordinate pair may have to be treated atomically. By lifting the meaning of a data race to a higher level, such problems can now be covered. The paper defines the concepts ‘view’ and ‘view consistency’ to give a notation for this novel kind of property. It describes what kinds of errors can be detected with this new definition, and where its limitations are. It also gives a formal guideline for using data structures in a multi‐threaded environment. © US Government copyright