2023
DOI: 10.1145/3571229
|View full text |Cite
|
Sign up to set email alerts
|

Higher-Order Leak and Deadlock Free Locks

Abstract: Reasoning about concurrent programs is challenging, especially if data is shared among threads. Program correctness can be violated by the presence of data races—whose prevention has been a topic of concern both in research and in practice. The Rust programming language is a prime example, putting the slogan fearless concurrency in practice by not only employing an ownership-based type system for memory management, but also using its type system to enforce mutual exclusion on shared data. Locking, unfortunatel… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
8
0

Year Published

2023
2023
2024
2024

Publication Types

Select...
2
2

Relationship

0
4

Authors

Journals

citations
Cited by 4 publications
(8 citation statements)
references
References 63 publications
0
8
0
Order By: Relevance
“…CLASS builds on top of the PaT correspondence with Linear Logic [22,27,80], the logical principles for the state modalities being inspired by DiLL [35]. Recent works [43,9,10,7,50,64,67] also address the problem of sharing and nondeterminism in the setting of session-based PaT. In [67], reference cells may only store replicated sessions (of type !A), thus cannot refer to linear entities such as other cells or linear sessions, hence cannot represent many realistic programming idioms that CLASS does (see Section 4).…”
Section: Related Workmentioning
confidence: 99%
See 2 more Smart Citations
“…CLASS builds on top of the PaT correspondence with Linear Logic [22,27,80], the logical principles for the state modalities being inspired by DiLL [35]. Recent works [43,9,10,7,50,64,67] also address the problem of sharing and nondeterminism in the setting of session-based PaT. In [67], reference cells may only store replicated sessions (of type !A), thus cannot refer to linear entities such as other cells or linear sessions, hence cannot represent many realistic programming idioms that CLASS does (see Section 4).…”
Section: Related Workmentioning
confidence: 99%
“…Recently, the work [43] develops λ lock , a substructural-typed λ-calculus with higher-order locks, which enjoys deadlock-freedom by imposing a set of high-level principles that guarantee acyclicity of the lock-sharing topologies, and which follow in CLASS as a consequence of its logical-motivated type system and DiLL's cocontraction. This work also extends λ locks with partial orders in which a resource can shared by more than two concurrent threads.…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…The notion of leak-freedom we use is inspired from [12]. In our setting, a situation where some lock ℓ is released and will never be acquired again can be seen as a form of memory leak.…”
Section: Adding Lock Deallocationmentioning
confidence: 99%
“…To avoid situations where a lock is in released state and cannot be accessed, πℓw also features a construct to deallocate a lock, called wait, inspired from [12]. Process ℓ((x)).…”
Section: Introductionmentioning
confidence: 99%