Institute for Software Research
School of Computer Science, Carnegie Mellon University


Polymorphic Access Permissions

Nels E. Beckman, Jonathan Aldrich

March 2010


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

Return to: SCS Technical Report Collection
School of Computer Science homepage

This page maintained by