DocumentCode
1919796
Title
Static Deadlock Detection for the SHIM Concurrent Language
Author
Vasudevan, Nalini ; Edwards, Stephen A.
Author_Institution
Dept. of Comput. Sci., Columbia Univ., New York, NY
fYear
2008
fDate
5-7 June 2008
Firstpage
49
Lastpage
58
Abstract
Concurrent programming languages are becoming mandatory with the advent of multi-core processors. Two major concerns in any concurrent program are data races and deadlocks. Each are potentially subtle bugs that can be caused by non-deterministic scheduling choices in most concurrent formalisms. As an alternative, the SHIM concurrent language guarantees the absence of data races by eschewing shared memory, but a SHIM program may still deadlock if a program violates a communication protocol. We present a model-checking-based static deadlock detection technique for the SHIM language. Although SHIM is asynchronous, its semantics allow us to model it synchronously without losing precision, greatly reducing the state space that must be explored. This plus the obvious division between control and data in SHIM programs makes it easy to construct concise abstractions. Experimentally, we find our procedure runs in only a few seconds for modest-sized programs, making it practical to use as part of a compilation chain.
Keywords
concurrency control; processor scheduling; programming languages; SHIM concurrent programming language; communication protocol; model-checking-based static deadlock detection; multicore processors; nondeterministic scheduling; static deadlock detection; Computer bugs; Computer languages; Computer science; Concurrent computing; Explosions; Interleaved codes; Java; Multicore processing; State-space methods; System recovery; Concurrency; Deadlock; NuSMV; SHIM; Static Analysis;
fLanguage
English
Publisher
ieee
Conference_Titel
Formal Methods and Models for Co-Design, 2008. MEMOCODE 2008. 6th ACM/IEEE International Conference on
Conference_Location
Anaheim, CA
Print_ISBN
978-1-4244-2417-7
Type
conf
DOI
10.1109/MEMCOD.2008.4547686
Filename
4547686
Link To Document