|
CMU-ISR-10-109
Institute for Software Research
School of Computer Science, Carnegie Mellon University
CMU-ISR-10-109
Polymorphic Access Permissions
Nels E. Beckman, Jonathan Aldrich
March 2010
CMU-ISR-10-109.pdf
Keywords: Typestate, aliasing, fractional permissions, polymorphism
This paper presents a polymorphic extension to a type system that prevents
the misuse of object protocols. Polymorphism allows classes to be generic
in the Access Permissions in their specifications. Access Permissions
describe both the current state of an object and whether or not references
to the object alias. Polymorphic Access Permissions allow programmers to
specify certain patterns that we have encountered in practice, for example
a collection of open, unaliased files. This paper also describes an
implementation of this system as a static typestate checker for the
Java programming language.
28 pages
|