|
ABSTRACT
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.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
|
| |
2
|
Paulo Sergio Almeida. Balloon types: Controlling sharing of state in data types. In Proceedings of the 11th European Conference on Object-Oriented Programming, 1997.
|
 |
3
|
Thomas Ball , Rupak Majumdar , Todd Millstein , Sriram K. Rajamani, Automatic predicate abstraction of C programs, Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation, p.203-213, June 2001, Snowbird, Utah, United States
|
 |
4
|
Chandrasekhar Boyapati , Martin Rinard, A parameterized type system for race-free Java programs, Proceedings of the 16th ACM SIGPLAN conference on Object oriented programming, systems, languages, and applications, p.56-69, October 14-18, 2001, Tampa Bay, FL, USA
|
| |
5
|
|
| |
6
|
|
 |
7
|
|
 |
8
|
David G. Clarke , John M. Potter , James Noble, Ownership types for flexible alias protection, Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, p.48-64, October 18-22, 1998, Vancouver, British Columbia, Canada
|
 |
9
|
Karl Crary , David Walker , Greg Morrisett, Typed memory management in a calculus of capabilities, Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.262-275, January 20-22, 1999, San Antonio, Texas, United States
[doi> 10.1145/292540.292564]
|
 |
10
|
|
| |
11
|
|
| |
12
|
|
 |
13
|
|
| |
14
|
Giorgio Ghelli and Debora Palmerini. Ibundations for extensible objects with roles. In Workshop on Dbundations of Object-Oriented Languages, Paris, 1999.
|
 |
15
|
Rakesh Ghiya , Laurie J. Hendren, Is it a tree, a DAG, or a cyclic graph? A shape analysis for heap-directed pointers in C, Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.1-15, January 21-24, 1996, St. Petersburg Beach, Florida, United States
[doi> 10.1145/237721.237724]
|
| |
16
|
|
 |
17
|
|
| |
18
|
Goorg Gottlob, Michaol Schrofl, and Brigitto Roock. Extonding objoct-oriontod systoms with rolos. AUM ;mnsactions on Information Systems, 14(3), 1994.
|
 |
19
|
|
| |
20
|
|
 |
21
|
Joseph Hummel , Laurie J. Hendren , Alexandru Nicolau, A general data dependence test for dynamic, pointer-based data structures, Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation, p.218-229, June 20-24, 1994, Orlando, Florida, United States
|
 |
22
|
John Hogg, Islands: aliasing protection in object-oriented languages, Conference proceedings on Object-oriented programming systems, languages, and applications, p.271-285, October 06-11, 1991, Phoenix, Arizona, United States
|
| |
23
|
|
 |
24
|
|
| |
25
|
|
 |
26
|
Jakob L. Jensen , Michael E. Jørgensen , Michael I. Schwartzbach , Nils Klarlund, Automatic verification of pointer programs using monadic second-order logic, Proceedings of the ACM SIGPLAN 1997 conference on Programming language design and implementation, p.226-234, June 16-18, 1997, Las Vegas, Nevada, United States
|
 |
27
|
|
 |
28
|
|
| |
29
|
|
 |
30
|
|
| |
31
|
Viktor Kuncak. Dosigning an algorithm for rolo analysis. Mastor's thosis, Massachusotts Instituto of Tochnology, 2001.
|
| |
32
|
Viktor Kuncak, Patrick Lam, and Martin Rinard. Rolos aro roally groat Tochnical Roport 822, Laboratory for Computor Scionco, Massachusotts Instituto of Tochnology, http ://www ,mit, edu/vkuncak/papers/, 2001.
|
| |
33
|
Tal Lov-Ami. TVLA: A framowork for kleone basod logic static analysos. Mastor's thosis, Tol-Aviv Univorsity, Israol, 2000.
|
 |
34
|
|
| |
35
|
|
| |
36
|
Trygvo Roonskaug. Working With Objects. Prontico Hall, 1996.
|
| |
37
|
|
 |
38
|
|
| |
39
|
|
 |
40
|
Mooly Sagiv , Thomas Reps , Reinhard Wilhelm, Solving shape-analysis problems in languages with destructive updating, Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.16-31, January 21-24, 1996, St. Petersburg Beach, Florida, United States
[doi> 10.1145/237721.237725]
|
 |
41
|
Mooly Sagiv , Thomas Reps , Reinhard Wilhelm, Parametric shape analysis via 3-valued logic, Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.105-118, January 20-22, 1999, San Antonio, Texas, United States
[doi> 10.1145/292540.292552]
|
| |
42
|
Micha Sharir and Amir Pnuoli. Two approachos to intorprocodural data flow analysis probloms. In Program Flow Analysis: Theory and Applications. Prontico-Hall, Inc., 1981.
|
| |
43
|
F. Smith, D. Walkor, and G. Morrisott. Alias typos. In Pwceedings of the lth European Symposium on Programming, Borlin, Gormany, March 2000.
|
| |
44
|
|
| |
45
|
|
| |
46
|
Wolfgang Thomas, Languages, automata, and logic, Handbook of formal languages, vol. 3: beyond words, Springer-Verlag New York, Inc., New York, NY, 1997
|
 |
47
|
Michael VanHilst , David Notkin, Using role components in implement collaboration-based designs, Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, p.359-369, October 06-10, 1996, San Jose, California, United States
|
| |
48
|
Philip Wadlor. Linoar typos can chango tho world In 1FIP 2'(2 2 Working Conference on Programming Concepts and Methods, Sea of Galilee, l'rael, 1990.
|
| |
49
|
|
 |
50
|
|
 |
51
|
Zhichen Xu , Barton P. Miller , Thomas Reps, Safety checking of machine code, Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation, p.70-82, June 18-21, 2000, Vancouver, British Columbia, Canada
|
| |
52
|
Zhichon Xu, Thomas Rops, and Barton Millor. Typostato chocking of machino codo. In Proceedings of the 15th Euwpean b'ymposium on Programming, 2001.
|
 |
53
|
Philip M. Yelland, Experimental classification facilities for Smalltalk, conference proceedings on Object-oriented programming systems, languages, and applications, p.235-246, October 18-22, 1992, Vancouver, British Columbia, Canada
|
CITED BY 27
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Wei-Ngan Chin , Siau-Cheng Khoo , Shengchao Qin , Corneliu Popeea , Huu Hai Nguyen, Verifying safety policies with size properties and alias controls, Proceedings of the 27th international conference on Software engineering, May 15-21, 2005, St. Louis, MO, USA
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Cristiano Calcagno , Dino Distefano , Peter O'Hearn , Hongseok Yang, Compositional shape analysis by means of bi-abduction, Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages, January 21-23, 2009, Savannah, GA, USA
|
|