Proceedings of the ACM SIGPLAN 2000 Conference on Programming Language Design and Implementation 2000
DOI: 10.1145/349299.349328
|View full text |Cite
|
Sign up to set email alerts
|

Type-based race detection for Java

Abstract: This paper presents a static race detection analysis for multithreaded Java programs. Our analysis is based on a formal type system that is capable of capturing many common synchronization patterns. These patterns include classes with internal synchronization, classes that require client-side synchronization, and thread-local classes. Experience checking over 40,000 lines of Java code with the type system demonstrates that it is an effective approach for eliminating races conditions. On large examples, fewer t… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

1
199
0

Year Published

2004
2004
2014
2014

Publication Types

Select...
4
3
2

Relationship

1
8

Authors

Journals

citations
Cited by 324 publications
(200 citation statements)
references
References 27 publications
1
199
0
Order By: Relevance
“…These techniques either require manual effort and do not apply to GPUs. Others focus on multi-threaded programs synchronizing using locks and semaphores [8]. These methods are impractical for GPU kernels.…”
Section: Resultsmentioning
confidence: 99%
“…These techniques either require manual effort and do not apply to GPUs. Others focus on multi-threaded programs synchronizing using locks and semaphores [8]. These methods are impractical for GPU kernels.…”
Section: Resultsmentioning
confidence: 99%
“…The first attempt to address this problem focused on detecting race conditions 5 . Static analysis techniques addressing this issue include those based on type systems [6], model checking [16], and general program analysis [17]. There were also dynamic analysis techniques proposed like RecPlay [23] and Eraser [24] However, these techniques were subject to a significant number of false positives.…”
Section: Related Workmentioning
confidence: 99%
“…Several static type systems have been proposed that prevent races (e.g., [12,13,21]) and ensure stronger properties such as determinism [9]. By rejecting potentially racy programs, these type systems ensure that all program executions have SC semantics.…”
Section: Guaranteeing End-to-end Sequential Consistencymentioning
confidence: 99%