Proceedings of the Twenty-Third ACM Symposium on Operating Systems Principles 2011
DOI: 10.1145/2043556.2043589
|View full text |Cite
|
Sign up to set email alerts
|

Pervasive detection of process races in deployed systems

Abstract: Process races occur when multiple processes access shared operating system resources, such as files, without proper synchronization. We present the first study of real process races and the first system designed to detect them. Our study of hundreds of applications shows that process races are numerous, difficult to debug, and a real threat to reliability. To address this problem, we created RACEPRO, a system for automatically detecting these races. RACEPRO checks deployed systems in-vivo by recording live exe… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

1
18
0

Year Published

2013
2013
2022
2022

Publication Types

Select...
5
3

Relationship

3
5

Authors

Journals

citations
Cited by 23 publications
(19 citation statements)
references
References 32 publications
1
18
0
Order By: Relevance
“…First, CRANE can be leveraged by other replication concepts (e.g., byzantine fault tolerance [22,38]) and record-replay [39,41,46] because they also suffer from nondeterminism. Second, promising results in REPFRAME [30] have shown that CRANE's transparent replication architecture can enable multiple types of program analysis tools within one execution, making a server program enjoy benefits of multiple analyses.…”
Section: Applicationsmentioning
confidence: 99%
“…First, CRANE can be leveraged by other replication concepts (e.g., byzantine fault tolerance [22,38]) and record-replay [39,41,46] because they also suffer from nondeterminism. Second, promising results in REPFRAME [30] have shown that CRANE's transparent replication architecture can enable multiple types of program analysis tools within one execution, making a server program enjoy benefits of multiple analyses.…”
Section: Applicationsmentioning
confidence: 99%
“…However, this approach can be both ineffective and inefficient as it cannot determine the location at which to issue an interrupt. Laadan et al [10] note the importance of process races and design a technique to detect and replay them. However, their technique can produce false negatives, and cause replay divergence failures in which the actual system environment does not match the replayed execution.…”
Section: B Related Workmentioning
confidence: 99%
“…Our previous work on Scribe [16] replays a recorded application execution until a specified point, and then transitions to live execution instead of replaying the rest of the log. Our previous work on Racepro [17] detects process races due to dependencies in the ordering of system calls by recording an application execution to a log, identifying a pair of system calls that may be racy, truncating the log at the occurrence of the pair of system calls, inverting their order, and then replaying the truncated log with the reordered system calls to detect process races. However, Racepro only supports changes that reorder system calls and does not support changes in the middle of replay.…”
Section: Related Workmentioning
confidence: 99%