2011
DOI: 10.1007/978-3-642-23217-6_30
|View full text |Cite
|
Sign up to set email alerts
|

Reasoning about Threads with Bounded Lock Chains

Abstract: Abstract. The problem of model checking threads interacting purely via the standard synchronization primitives is key for many concurrent program analyses, particularly dataflow analysis. Unfortunately, it is undecidable even for the most commonly used synchronization primitive, i.e., mutex locks. Lock usage in concurrent programs can be characterized in terms of lock chains, where a sequence of mutex locks is said to be chained if the scopes of adjacent (non-nested) mutexes overlap. Although the model checkin… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
2

Citation Types

0
9
0

Year Published

2012
2012
2013
2013

Publication Types

Select...
4
2
1

Relationship

0
7

Authors

Journals

citations
Cited by 11 publications
(9 citation statements)
references
References 22 publications
0
9
0
Order By: Relevance
“…To overcome the imprecision of lockset-based analysis, and thereby, improve the accuracy of data race analysis, lock histories (LH) are used [4], [24], [30], [31], albeit at a higher cost. For nested locks, it was shown [24] that pairwise reachability can be reasoned in O(m + n), where m and n are the number of lock/unlock events in the history of the respective threads.…”
Section: B Related Workmentioning
confidence: 99%
“…To overcome the imprecision of lockset-based analysis, and thereby, improve the accuracy of data race analysis, lock histories (LH) are used [4], [24], [30], [31], albeit at a higher cost. For nested locks, it was shown [24] that pairwise reachability can be reasoned in O(m + n), where m and n are the number of lock/unlock events in the history of the respective threads.…”
Section: B Related Workmentioning
confidence: 99%
“…There are many studies on model checking of recursive parallel programs [19,6], which obtain decidable fragments by restricting synchronization primitives or applying approximations. It is interesting to see whether each result can be extended to higher-order, recursive parallel programs (besides context-bounded model checking discussed in Section 4.2).…”
Section: Related Workmentioning
confidence: 99%
“…Another possible approach is to replace global state space with some communication mechanism between threads. Some successful results on analysis of multi-threaded programs communicating via locks, in a restricted way, has been reported in [23,22,11].…”
Section: Introductionmentioning
confidence: 99%