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 hand, run-time checking generally produces fewer false alarms than static analysis; this is a significant practical advantage, since diagnosing all of the warnings from static analysis of large codebases may be prohibitively expensive.This paper explores the use of static analysis to significantly decrease the overhead of run-time checking. Our approach is based on a type system for analyzing data races and atomicity. A type discovery algorithm is used to obtain types for as much of the program as possible (complete type inference for this type system is NP-hard, and parts of the program might be untypable). Warnings from the typechecker are used to identify parts of the program from which run-time checking can safely be omitted. The approach is completely automatic, scalable to very large programs, and significantly reduces the overhead of run-time checking for data races and atomicity violations.
| Original language | English |
|---|---|
| Pages | 233-242 |
| Number of pages | 10 |
| DOIs | |
| State | Published - 2005 |
| Event | 20th IEEE/ACM International Conference on Automated Software Engineering, ASE 2005 - Long Beach, CA, United States Duration: Nov 7 2005 → Nov 11 2005 |
Conference
| Conference | 20th IEEE/ACM International Conference on Automated Software Engineering, ASE 2005 |
|---|---|
| Country/Territory | United States |
| City | Long Beach, CA |
| Period | 11/7/05 → 11/11/05 |
Keywords
- Atomicity
- Data races
- Performance
- Type system
Fingerprint
Dive into the research topics of 'Optimized run-time race detection and atomicity checking using partial discovered types'. Together they form a unique fingerprint.Cite this
- APA
- Author
- BIBTEX
- Harvard
- Standard
- RIS
- Vancouver