Proceedings of the 26th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages 1999
DOI: 10.1145/292540.292564
|View full text |Cite
|
Sign up to set email alerts
|

Typed memory management in a calculus of capabilities

Abstract: Region-based memory management is an alternative to standard tracing garbage collection that makes potentially dangerous operations such as memory deallocation explicit but verifiably safe. In this article, we present a new compiler intermediate language, called the Capability Calculus, that supports region-based memory management and enjoys a provably safe type system. Unlike previous region-based type systems, region lifetimes need not be lexically scoped and yet the language may be checked for safety withou… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
133
0

Year Published

2002
2002
2009
2009

Publication Types

Select...
5
1

Relationship

0
6

Authors

Journals

citations
Cited by 166 publications
(133 citation statements)
references
References 47 publications
0
133
0
Order By: Relevance
“…4 Ideally, we would like to use the largest capability-respecting set, but such a set is not recursive (because it is reducible from the halting problem). Instead, we use a type system to compute a safe approximation of the set.…”
Section: Static Checking Of Capabilitiesmentioning
confidence: 99%
See 2 more Smart Citations
“…4 Ideally, we would like to use the largest capability-respecting set, but such a set is not recursive (because it is reducible from the halting problem). Instead, we use a type system to compute a safe approximation of the set.…”
Section: Static Checking Of Capabilitiesmentioning
confidence: 99%
“…Dynamically Created Channels: Dynamically created channels can be handled in much the same way heap allocated objects are handled in the capability calculus [4] (we only show the rule for the case where c is rendezvous):…”
Section: Regionsmentioning
confidence: 99%
See 1 more Smart Citation
“…The capability calculus [5] was originally proposed as a framework for regionbased memory management, that is, a system for guaranteeing that a deallocated region is never accessed. The capability calculus is a good framework for statically reasoning about properties of general program resources such as memory regions [5], reference cells [4], and communication channels [14].…”
Section: Introductionmentioning
confidence: 99%
“…The capability calculus is a good framework for statically reasoning about properties of general program resources such as memory regions [5], reference cells [4], and communication channels [14]. Researchers [4,13] extended the framework to fractional capabilities ( [4] called them fractional permissions), allowing (1) more flexibility by letting the capabilities range over rational numbers, which allows reasoning about concurrent reads and writes, and (2) efficient inference via a reduction to (rational) linear programming, whereas no efficient inference is known for the non-fractional calculi 1 .…”
Section: Introductionmentioning
confidence: 99%