Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • harvard1
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Capabilities for Uniqueness and Borrowing
EPFL, Switzerland.ORCID iD: 0000-0002-2659-5271
EPFL, Switzerland.
2010 (English)In: ECOOP 2010: Proceedings of the 24th European Conference on Object-Oriented Programming, 2010, 354-378 p.Conference paper, Published paper (Refereed)
Abstract [en]

An important application of unique object references is safe and efficient message passing in concurrent object-oriented programming. However, to prevent the ill effects of aliasing, practical systems often severely restrict the shape of messages passed by reference. Moreover, the problematic interplay between destructive reads often used to implement unique references and temporary aliasing through "borrowed" references is exacerbated in a concurrent setting, increasing the potential for unpredictable run-time errors.

This paper introduces a new approach to uniqueness. The idea is to use capabilities for enforcing both at-most-once consumption of unique references, and a flexible notion of uniqueness. The main novelty of our approach is a model of uniqueness and borrowing based on simple, unstructured capabilities. The advantages are: first, it provides simple foundations for uniqueness and borrowing. Second, it can be formalized using a relatively simple type system, for which we provide a complete soundness proof. Third, it avoids common problems involving borrowing and destructive reads, since unique references subsume borrowed references.

We have implemented our type system as an extension to Scala. Practical experience suggests that our system allows type checking real-world actor-based concurrent programs with only a small number of additional type annotations.

Place, publisher, year, edition, pages
2010. 354-378 p.
National Category
Computer Science
Identifiers
URN: urn:nbn:se:kth:diva-165599DOI: 10.1007/978-3-642-14107-2_17ISI: 000284803700016Scopus ID: 2-s2.0-77955041735OAI: oai:DiVA.org:kth-165599DiVA: diva2:808637
Conference
2010 European Conference on Object-Oriented Programming, Maribor, Slovenia, June 21-25, 2010
Note

QC 20150505

Available from: 2015-04-29 Created: 2015-04-29 Last updated: 2015-05-05Bibliographically approved

Open Access in DiVA

No full text

Other links

Publisher's full textScopus

Authority records BETA

Haller, Philipp

Search in DiVA

By author/editor
Haller, Philipp
Computer Science

Search outside of DiVA

GoogleGoogle Scholar

doi
urn-nbn

Altmetric score

doi
urn-nbn
Total: 9 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • harvard1
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf