Gordon, Colin S., Parkinson, Matthew J., Parsons, Jared, Bromfield, Aleks, Duffy, Joe
Proceedings of the 2012 ACM International Conference on Object Oriented Programming, Systems, Languages, and Applications (OOPSLA'12), October 2012, doi: 10.1145/2384616.2384619
Abstract
Bibtex
@inproceedings{oopsla12,
title = {{Uniqueness and Reference Immutability for Safe Parallelism}},
author = {Gordon, Colin S. and Parkinson, Matthew J. and Parsons, Jared and Bromfield, Aleks and Duffy, Joe},
booktitle = {{Proceedings of the 2012 ACM International Conference on Object Oriented Programming,
Systems, Languages, and Applications (OOPSLA'12)}},
address = {{Tucson, AZ, USA}},
month = {October},
year = 2012,
doi = {10.1145/2384616.2384619},
abstract = {
A key challenge for concurrent programming is that side-effects (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 objects. Key to the system's flexibility is the ability to recover immutable or externally unique references after violating uniqueness without any explicit alias tracking. Our type system models a prototype extension to C# that is in active use by a Microsoft team. We describe their experiences building large systems with this extension. We prove the soundness of the type system by an embedding into a program logic.
},
note = "Acceptance Rate 26\% (59/228).",
url = {http://dl.acm.org/citation.cfm?id=2384619}
}