Proceedings of the 20th IEEE/ACM International Conference on Automated Software Engineering 2005
DOI: 10.1145/1101908.1101944
|View full text |Cite
|
Sign up to set email alerts
|

Optimized run-time race detection and atomicity checking using partial discovered types

Abstract: Concurrent programs are notorious for containing errors that are difficult to reproduce and diagnose. Two common kinds of concurrency errors are data races and atomicity violations (informally, atomicity means that executing methods concurrently is equivalent to executing them serially). Several static and dynamic (run-time) analysis techniques exist to detect potential races and atomicity violations. Run-time checking may miss errors in unexecuted code and incurs significant run-time overhead. On the other ha… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
55
0

Year Published

2009
2009
2020
2020

Publication Types

Select...
4
1
1

Relationship

2
4

Authors

Journals

citations
Cited by 59 publications
(55 citation statements)
references
References 24 publications
0
55
0
Order By: Relevance
“…The average slowdown is 16.5x, which is about 4 times as our previous purely dynamic approach [11]. Hence, the hybrid approach reports fewer false positives than the previous static approaches [7,1], and fewer false negatives (i.e., missed errors) than the previous dynamic approaches [6,12,11], at the sacrifice of performance. Figure 2 shows the architecture of our tool, HAVE, which consists of five components.…”
Section: Integrated Dynamic and Static Analysis For Atomicity Violatimentioning
confidence: 75%
See 1 more Smart Citation
“…The average slowdown is 16.5x, which is about 4 times as our previous purely dynamic approach [11]. Hence, the hybrid approach reports fewer false positives than the previous static approaches [7,1], and fewer false negatives (i.e., missed errors) than the previous dynamic approaches [6,12,11], at the sacrifice of performance. Figure 2 shows the architecture of our tool, HAVE, which consists of five components.…”
Section: Integrated Dynamic and Static Analysis For Atomicity Violatimentioning
confidence: 75%
“…Static analysis can be used to reduce the overhead of dynamic analysis. For example, static analysis can show that some statements are not involved in any data races or atomicity violations and hence do not need to be instrumented; this can significantly reduce the overhead of dynamic analysis by up to a factor of 20 [1]. Conversely, dynamic analysis can help static analysis by providing more accurate runtime information.…”
Section: Introductionmentioning
confidence: 99%
“…The experiments show that the hybrid approach reports fewer false positives than the previous static approaches [9,1], and fewer false negatives (i.e., missed errors) than the previous dynamic approaches [6,20,19].…”
Section: Fig 1 Examples In Java Demonstrating Data Races and Atomicmentioning
confidence: 93%
“…We use Java reflection mechanism to dynamically update the field. An object o becomes shared in the following scenarios: (1) o is stored in a static field or a field of a shared object; (2) o is an instance of a thread and the thread is started; (3) o is referenced by a field of another object o , and o becomes shared (this leads to cascading sharing); (4) o is passed as an argument to a native method that may cause it to be shared.…”
Section: Optimization: Dynamic Sharing Analysismentioning
confidence: 99%
See 1 more Smart Citation