Proceedings of the ACM International Conference on Object Oriented Programming Systems Languages and Applications 2012
DOI: 10.1145/2384616.2384619
|View full text |Cite
|
Sign up to set email alerts
|

Uniqueness and reference immutability for safe parallelism

Abstract: A key challenge for concurrent programming is that sideeffects (memory operations) in one thread can affect the behavior of another thread. In this paper, we present a type system to restrict the updates to memory to prevent these unintended side-effects. We provide a novel combination of immutable and unique (isolated) types that ensures safe parallelism (race freedom and deterministic execution). The type system includes support for polymorphism over type qualifiers, and can easily create cycles of immutable… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
83
0

Year Published

2013
2013
2020
2020

Publication Types

Select...
5
2
2

Relationship

1
8

Authors

Journals

citations
Cited by 64 publications
(83 citation statements)
references
References 42 publications
(28 reference statements)
0
83
0
Order By: Relevance
“…We believe our results on sharing idioms can achieve similar success informing the design of ownership type systems. Results on the frequency of sharing of immutable objects and isolation have already demonstrated great utility [13]. Our detailed results on immutability/isolation, singletons and other global structures also point to further advances in type and annotation systems; they indicate that lightweight annotations that capture simple sharing relations show promise.…”
Section: Introductionmentioning
confidence: 55%
“…We believe our results on sharing idioms can achieve similar success informing the design of ownership type systems. Results on the frequency of sharing of immutable objects and isolation have already demonstrated great utility [13]. Our detailed results on immutability/isolation, singletons and other global structures also point to further advances in type and annotation systems; they indicate that lightweight annotations that capture simple sharing relations show promise.…”
Section: Introductionmentioning
confidence: 55%
“…Concurrent abstract predicates has been extended with higher-order features, using Views extended with step-indexing to prove soundness [30]. The Views Framework has been extended to reason about C with interesting permission annotations to ensure isolation between threads [17]. Views are also helping in the development of sound logics for local reasoning about intrinsically structured data, such as file systems [16]; in this setting, decomposing data into fragments that record how they are connected is central, and is elegantly justified by the semantic entailment of Views.…”
Section: Discussionmentioning
confidence: 99%
“…Given these difficulties, a viable approach for efficiently providing SC is to restrict the use of shared-memory in programming languages [11,10,7,16]. Boyapati et al [11,10] use ownership types to only allow a shared-memory access when holding appropriate locks.…”
Section: Related Work and Conclusionmentioning
confidence: 99%
“…Determinstic Parallel Java [7] statically guarantees detereminism and data-racefreedom (and hence SC) through a sophisticated type-and effect system. Similarly, Gordon et al [16] propose a type system where mutations to objects are only performed by threads that own a unique pointer to that object. However, these approaches create a significant programmer burden in terms of type annotations to ensure SC.…”
Section: Related Work and Conclusionmentioning
confidence: 99%