Aliasing control with view-based typestate

Research output: Chapter in Book/Report/Conference proceedingConference contribution

12 Citations (Scopus)

Abstract

Tracking the state of an object (in the sense of how a File can be in an Open or Closed state) is difficult not just because of the problem of managing state transitions but also due to the complexity introduced by aliasing. Unchecked duplication of object references makes local reasoning impossible by allowing situations where transitions can be triggered unexpectedly (for instance, passing aliased parameters to a method that expects unaliased parameters, or calling a method that has a side effect through an alias deeply nested in a data structure). We propose a generalization ofaccess permissionsthat goes beyond a fixed set of permissions to an object. In this paper we present a new aliasing control mechanism that uses a small set of permissions as building block for the creation of views that capture a projection of an object with specific access constraints to its fields and/or methods. This makes permission tracking more fine grained while also making the designer's intent more explicit. We present a few meaningful examples of how theseviewshandle situations such as: separating different sections of an object for safe initialization; and access with either an unbounded number of readers or a single writer (multiple readers or unique writer). Finally, we show a type system for checking correctness of state use in the presence of this kind of controlled aliasing.
Original languageUnknown
Title of host publicationAssociation for Computing Machinery Digital Library
Pages1-7
DOIs
Publication statusPublished - 1 Jan 2010
EventFormal Techniques for Java-Like Programs (FTfJP) -
Duration: 1 Jan 2010 → …

Conference

ConferenceFormal Techniques for Java-Like Programs (FTfJP)
Period1/01/10 → …

Cite this

Caires, L. M. M. D. C. (2010). Aliasing control with view-based typestate. In Association for Computing Machinery Digital Library (pp. 1-7) https://doi.org/10.1145/1924520.1924527
Caires, Luís Manuel Marques da Costa. / Aliasing control with view-based typestate. Association for Computing Machinery Digital Library. 2010. pp. 1-7
@inproceedings{a0b88625444242c19e32904923f1bb8f,
title = "Aliasing control with view-based typestate",
abstract = "Tracking the state of an object (in the sense of how a File can be in an Open or Closed state) is difficult not just because of the problem of managing state transitions but also due to the complexity introduced by aliasing. Unchecked duplication of object references makes local reasoning impossible by allowing situations where transitions can be triggered unexpectedly (for instance, passing aliased parameters to a method that expects unaliased parameters, or calling a method that has a side effect through an alias deeply nested in a data structure). We propose a generalization ofaccess permissionsthat goes beyond a fixed set of permissions to an object. In this paper we present a new aliasing control mechanism that uses a small set of permissions as building block for the creation of views that capture a projection of an object with specific access constraints to its fields and/or methods. This makes permission tracking more fine grained while also making the designer's intent more explicit. We present a few meaningful examples of how theseviewshandle situations such as: separating different sections of an object for safe initialization; and access with either an unbounded number of readers or a single writer (multiple readers or unique writer). Finally, we show a type system for checking correctness of state use in the presence of this kind of controlled aliasing.",
author = "Caires, {Lu{\'i}s Manuel Marques da Costa}",
year = "2010",
month = "1",
day = "1",
doi = "10.1145/1924520.1924527",
language = "Unknown",
isbn = "978-1-4503-0540-2",
pages = "1--7",
booktitle = "Association for Computing Machinery Digital Library",

}

Caires, LMMDC 2010, Aliasing control with view-based typestate. in Association for Computing Machinery Digital Library. pp. 1-7, Formal Techniques for Java-Like Programs (FTfJP), 1/01/10. https://doi.org/10.1145/1924520.1924527

Aliasing control with view-based typestate. / Caires, Luís Manuel Marques da Costa.

Association for Computing Machinery Digital Library. 2010. p. 1-7.

Research output: Chapter in Book/Report/Conference proceedingConference contribution

TY - GEN

T1 - Aliasing control with view-based typestate

AU - Caires, Luís Manuel Marques da Costa

PY - 2010/1/1

Y1 - 2010/1/1

N2 - Tracking the state of an object (in the sense of how a File can be in an Open or Closed state) is difficult not just because of the problem of managing state transitions but also due to the complexity introduced by aliasing. Unchecked duplication of object references makes local reasoning impossible by allowing situations where transitions can be triggered unexpectedly (for instance, passing aliased parameters to a method that expects unaliased parameters, or calling a method that has a side effect through an alias deeply nested in a data structure). We propose a generalization ofaccess permissionsthat goes beyond a fixed set of permissions to an object. In this paper we present a new aliasing control mechanism that uses a small set of permissions as building block for the creation of views that capture a projection of an object with specific access constraints to its fields and/or methods. This makes permission tracking more fine grained while also making the designer's intent more explicit. We present a few meaningful examples of how theseviewshandle situations such as: separating different sections of an object for safe initialization; and access with either an unbounded number of readers or a single writer (multiple readers or unique writer). Finally, we show a type system for checking correctness of state use in the presence of this kind of controlled aliasing.

AB - Tracking the state of an object (in the sense of how a File can be in an Open or Closed state) is difficult not just because of the problem of managing state transitions but also due to the complexity introduced by aliasing. Unchecked duplication of object references makes local reasoning impossible by allowing situations where transitions can be triggered unexpectedly (for instance, passing aliased parameters to a method that expects unaliased parameters, or calling a method that has a side effect through an alias deeply nested in a data structure). We propose a generalization ofaccess permissionsthat goes beyond a fixed set of permissions to an object. In this paper we present a new aliasing control mechanism that uses a small set of permissions as building block for the creation of views that capture a projection of an object with specific access constraints to its fields and/or methods. This makes permission tracking more fine grained while also making the designer's intent more explicit. We present a few meaningful examples of how theseviewshandle situations such as: separating different sections of an object for safe initialization; and access with either an unbounded number of readers or a single writer (multiple readers or unique writer). Finally, we show a type system for checking correctness of state use in the presence of this kind of controlled aliasing.

U2 - 10.1145/1924520.1924527

DO - 10.1145/1924520.1924527

M3 - Conference contribution

SN - 978-1-4503-0540-2

SP - 1

EP - 7

BT - Association for Computing Machinery Digital Library

ER -

Caires LMMDC. Aliasing control with view-based typestate. In Association for Computing Machinery Digital Library. 2010. p. 1-7 https://doi.org/10.1145/1924520.1924527