Proceedings of the ACM SIGPLAN 2014 Workshop on Programming Languages Meets Program Verification 2014
DOI: 10.1145/2541568.2541574
|View full text |Cite
|
Sign up to set email alerts
|

Substructural typestates

Abstract: Finding simple, yet expressive, verification techniques to reason about both aliasing and mutable state has been a major challenge for static program verification. One such approach, of practical relevance, is centered around a lightweight typing discipline where types denote abstract object states, known as typestates.In this paper, we show how key typestate concepts can be precisely captured by a substructural type-and-effect system, exploiting ideas from linear and separation logic. Building on this foundat… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
11
0

Year Published

2014
2014
2024
2024

Publication Types

Select...
2
2
2

Relationship

2
4

Authors

Journals

citations
Cited by 7 publications
(11 citation statements)
references
References 57 publications
0
11
0
Order By: Relevance
“…Technically, we build on [21] (a variant of L 3 [1] adapted for usability) by supporting sharing of mutable state through rely-guarantee protocols. As in L 3 , a cell is decomposed in two components: a pure reference (that can be freely copied), and a linear [14] capability used to track the contents of that cell.…”
Section: Pipe Examplementioning
confidence: 99%
See 4 more Smart Citations
“…Technically, we build on [21] (a variant of L 3 [1] adapted for usability) by supporting sharing of mutable state through rely-guarantee protocols. As in L 3 , a cell is decomposed in two components: a pure reference (that can be freely copied), and a linear [14] capability used to track the contents of that cell.…”
Section: Pipe Examplementioning
confidence: 99%
“…As in L 3 , a cell is decomposed in two components: a pure reference (that can be freely copied), and a linear [14] capability used to track the contents of that cell. Unlike L 3 , by extending [21] our language implicitly threads capabilities through the code, reducing syntactic overhead. To support this separation of references and capabilities, our language uses location-dependent types to relate a reference to its respective capability.…”
Section: Pipe Examplementioning
confidence: 99%
See 3 more Smart Citations