Viktor Kuncak, Patrick Lam, and Martin Rinard.
Role analysis.
In ACM SIGACT-SIGPLAN Symposium on Principles of Programming
Languages (POPL), 2002.
We present a new role system in which the type (or
role) of each object depends on its referencing
relationships with other objects, with the role changing as
these relationships change. Roles capture important object
and data structure properties and provide useful information
about how the actions of the program interact with these
properties. Our role system enables the programmer to
specify the legal aliasing relationships that define the set
of roles that objects may play, the roles of procedure
parameters and object fields, and the role changes that
procedures perform while manipulating objects. We present
an interprocedural, compositional, and context-sensitive
role analysis algorithm that verifies that a program
maintains role constraints.
[ bib ]
Back