-
- Robert H. B. Netzer
- Univ. of Wisconsin, Madison
-
- Barton P. Miller
- Univ. of Wisconsin, Madison
書誌事項
- タイトル別名
-
- Some issues and formalizations
この論文をさがす
説明
<jats:p> In shared-memory parallel programs that use explicit synchronization, <jats:italic>race conditions</jats:italic> result when accesses to shared memory are not properly synchronized. Race conditions are often considered to be manifestations of bugs, since their presence can cause the program to behave unexpectedly. Unfortunately, there has been little agreement in the literature as to precisely what constitutes a race condition. Two different notions have been implicitly considered: one pertaining to programs intended to be deterministic (which we call <jats:italic>general races</jats:italic> ) and the other to nondeterministic programs containing critical sections (which we call <jats:italic>data races</jats:italic> ). However, the differences between general races and data races have not yet been recognized. This paper examines these differences by characterizing races using a formal model and exploring their properties. We show that two variations of each type of race exist: <jats:italic>feasible</jats:italic> general races and data races capture the intuitive notions desired for debugging and <jats:italic>apparent</jats:italic> races capture less accurate notions implicitly assumed by most dynamic race detection methods. We also show that locating feasible races is an NP-hard problem, implying that only the apparent races, which are approximations to feasible races, can be detected in practice. The complexity of dynamically locating apparent races depends on the type of synchronization used by the program. Apparent races can be exhaustively located efficiently only for weak types of synchronization that are incapable of implementing mutual exclusion. This result has important implications since we argue that debugging general races requires exhaustive race detection and is inherently harder than debugging data races (which requires only partial race detection). Programs containing data races can therefore be efficiently debugged by locating certain easily identifiable races. In contrast, programs containing general races require more complex debugging techniques. </jats:p>
収録刊行物
-
- ACM Letters on Programming Languages and Systems
-
ACM Letters on Programming Languages and Systems 1 (1), 74-88, 1992-03
Association for Computing Machinery (ACM)
- Tweet
詳細情報 詳細情報について
-
- CRID
- 1360855571480422656
-
- NII論文ID
- 30021972201
-
- ISSN
- 15577384
- 10574514
-
- データソース種別
-
- Crossref
- CiNii Articles