2010
DOI: 10.4204/eptcs.17.8
|View full text |Cite
|
Sign up to set email alerts
|

Type Inference for Deadlock Detection in a Multithreaded Polymorphic Typed Assembly Language

Abstract: We previously developed a polymorphic type system and a type checker for a multithreaded lockbased polymorphic typed assembly language (MIL) that ensures that well-typed programs do not encounter race conditions. This paper extends such work by taking into consideration deadlocks. The extended type system verifies that locks are acquired in the proper order. Towards this end we require a language with annotations that specify the locking order. Rather than asking the programmer (or the compiler's backend) to s… Show more

Help me understand this report
View preprint versions

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

2
12
0

Year Published

2011
2011
2018
2018

Publication Types

Select...
7
1

Relationship

0
8

Authors

Journals

citations
Cited by 18 publications
(14 citation statements)
references
References 16 publications
2
12
0
Order By: Relevance
“…(Type-based) analyses for race detection include [1] [10] [6] [19] [13] to name a few. Partly based on similar techniques, likewise for the prevention of deadlocks are [21] [14]. Static detection of potential deadlocks is a recurring topic: traditionally, a lock-analysis is carried out to discover whether the locks can be ordered, such that subsequent locks can only be acquired following that order [4].…”
Section: Resultsmentioning
confidence: 99%
“…(Type-based) analyses for race detection include [1] [10] [6] [19] [13] to name a few. Partly based on similar techniques, likewise for the prevention of deadlocks are [21] [14]. Static detection of potential deadlocks is a recurring topic: traditionally, a lock-analysis is carried out to discover whether the locks can be ordered, such that subsequent locks can only be acquired following that order [4].…”
Section: Resultsmentioning
confidence: 99%
“…The first, deadlock prevention, ensures that programs are correct by design and can never have circular lock dependencies. In the deadlock prevention literature, one finds type and effect systems [2,4,6,11,15,17] that guarantee deadlock freedom by statically enforcing a global lock-acquisition ordering, which must be respected by all threads. Second, deadlock detection and recovery strategies dynamically detect deadlocks and preempt some of the deadlocked threads, releasing (some of) their locks, so that the remaining threads can make progress.…”
Section: Deadlock Freedom and Related Workmentioning
confidence: 99%
“…As deadlocks are a serious problem, several methods to achieve deadlock freedom have so far been proposed. In particular, approaches stemming from programming language research aim for static deadlock freedom guarantees by employing type systems that prevent deadlocks (e.g., [6,15,17]). Most such works often impose a strict (non-cyclic) lock acquisition order that must be respected throughout the entire program and/or require that locking is used in a block-structured way.…”
Section: Introductionmentioning
confidence: 99%
“…The proposals for statically analyzing deadlocks are largely based on types [12,22,21,23]. Some work also addresses deadlocks in object-oriented programs [1,2].…”
Section: Related Workmentioning
confidence: 99%