Engineering of Software 2011
DOI: 10.1007/978-3-642-19823-6_4
|View full text |Cite
|
Sign up to set email alerts
|

Checking Concurrent Typestate with Access Permissions in Plural: A Retrospective

Abstract: Objects often define usage protocols that clients must follow in order for these objects to work properly. In the presence of aliasing, however, it is difficult to check whether all the aliases of an object properly coordinate to enforce the protocol. Plural is a type-based system that can soundly enforce challenging protocols even in concurrent programs. In this paper, we discuss how Plural supports natural idioms for reasoning about programs, leveraging access permissions that express the programmer's design… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1

Citation Types

0
3
0

Year Published

2016
2016
2020
2020

Publication Types

Select...
2
1

Relationship

1
2

Authors

Journals

citations
Cited by 3 publications
(3 citation statements)
references
References 26 publications
0
3
0
Order By: Relevance
“…Plaid [Sunshine et al 2011] and Plural [Bierhoff and Aldrich 2008] are the most closely related systems in terms of their type systems' features. Both languages were complex, and the authors noted the complexity in certain cases, e.g., fractional permissions make the language harder to use but were rarely used and even then primarily for concurrency [Bierhoff et al 2011]. showed typestate to be helpful in documentation when users need to understand object protocols; we used that conclusion as motivation for our language design.…”
Section: Typestatementioning
confidence: 99%
“…Plaid [Sunshine et al 2011] and Plural [Bierhoff and Aldrich 2008] are the most closely related systems in terms of their type systems' features. Both languages were complex, and the authors noted the complexity in certain cases, e.g., fractional permissions make the language harder to use but were rarely used and even then primarily for concurrency [Bierhoff et al 2011]. showed typestate to be helpful in documentation when users need to understand object protocols; we used that conclusion as motivation for our language design.…”
Section: Typestatementioning
confidence: 99%
“…Plaid [Sunshine et al 2011] and Plural [Bierhoff and Aldrich 2008] are the most closely-related systems in terms of their type systems' features. Both languages were complex, and the authors noted the complexity in certain cases, e.g., fractional permissions make the language harder to use but were rarely used, and even then primarily for concurrency [Bierhoff et al 2011]. Sunshine et al showed typestate to be helpful in documentation when users need to understand object protocols ; we used that conclusion as motivation for our language design.…”
Section: Related Workmentioning
confidence: 99%
“…Plural [Bierhoff and Aldrich 2007;Bierhoff et al 2009;Bierhoff et al 2011], which takes the form of a mostly automatic intraprocedural analysis, includes Boyland's fractions, under the names unique and immutable(q). It also includes the permissions full, which means "we" have read-write access, whereas "others" have read-only access; and pure, which is the dual of full.…”
Section: Annotating Types With Permissionsmentioning
confidence: 99%