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.
- 1.A. Albano, R. Bergamini, G. Ghelli, and R. Orsini. An introduction to the database programming language Fibonacci. The VLDB Journal, 4(3), 1995.]] Google ScholarDigital Library
- 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.]]Google Scholar
- 3.Thomas Ball, Rupak Majumdar, 2bdd Millstein, and Sriram K. Rajamani. Automatic predicate abstraction of C programs. In Proceedings of the SIGPLAN '01 Conference on Programming Language Design and Imptementation, 2001.]] Google ScholarDigital Library
- 4.Chandrasekar Boyapati and Martin C. Rinard. A parameterized type system for race-free java programs. In Proceedings of the 16th Annual Conference on Object- Oriented Programming Systems, Languages and Applications, 2001.]] Google ScholarDigital Library
- 5.John Boyland. Alias burying: Unique variables without destructive reads. Sewar Practice 84 Experience, (31(6)):533 553, May 2001.]] Google ScholarDigital Library
- 6.Craig Chambers. Predicate classes. In Proceedings of the 7h European (Uonfernce on Object-Oriented Programming, pages 268 296, 1998.]] Google ScholarDigital Library
- 7.David R. Chase, Mark Wegman, and F. Kenneth Zadeck. Analysis of pointers and structures. In Proceedings of the SIGPLAN '90 Conference on Programming Language Design and Implementation, 1990.]] Google ScholarDigital Library
- 8.David G. Clarke, John M. Potter, and James Noble. Ownership types for flexible alias protection. In Proceedings of the 13th Annual Conference on Object-Oriented Programming Systems, Languages and Applications, 1998.]] Google ScholarDigital Library
- 9.Karl Crary, David Walker, and Greg Morrisett. Typed memory management in a calculus of capabilities. In Proceedings of the 26th Annual A UM Symposium on the Principles of Programming Languages, 1999.]] Google ScholarDigital Library
- 10.Robert DeLine and Manuel Fahndrich. Enforcing high-level protocols in low-level software. In Proceedings of the SIGPLAN '01 Confersnce on Programming Language Design and Implementation, 2001.]] Google ScholarDigital Library
- 11.S. Drossopoulou, F. Damiani, M. Dezani-Ciancaglini, and P. Giannini. Fickle: Dynamic object re-classification. In Proceedings of the 15th European Conference on Object-Oriented Programming, LNCS 2072, pages 130-149. Springer, 2001.]] Google ScholarDigital Library
- 12.Jeffrey S. Ibster and Alex Aiken. Checking programmer-specified non-aliasing. Technical Report CSD-01-1160, University of California, Berkeley, 2001.]] Google ScholarDigital Library
- 13.Pascal Fradet and Daniel Le Metayer. Shape types. In Proceedings of the 2th Annual A UM Symposium on the Principles of Programming Languages, 1997.]] Google ScholarDigital Library
- 14.Giorgio Ghelli and Debora Palmerini. Ibundations for extensible objects with roles. In Workshop on Dbundations of Object-Oriented Languages, Paris, 1999.]]Google Scholar
- 15.Rakesh Ghiya and Laurie Hendren. Is it a tree, a DAG, or a cyclic graph? In Proceedings of the 23rd Annual AUM Symposium on the Principtes of Programming Languages, St. Petersburg Beach, FL, 1996.]] Google ScholarDigital Library
- 16.Rakosh Ghiya and Laurio J. Hondron. Connoction analysis: A practical intorprocodural hoap analysis for C. In Proceedings of the 8th Workshop on Languages and Compilers for Parallel Computing, 1995.]] Google ScholarDigital Library
- 17.Rakosh Ghiya and Laurio J. Hondron. Putting pointor analysis to work. In Proceedings of the 25th Annual A UM Symposium on the Principles of Programming Languages, 1998.]] Google ScholarDigital Library
- 18.Goorg Gottlob, Michaol Schrofl, and Brigitto Roock. Extonding objoct-oriontod systoms with rolos. AUM ;mnsactions on Information Systems, 14(3), 1994.]]Google Scholar
- 19.Samuol Z. Guyor and Calvin Lin. An annotation languago for optimizing softwaro librarios. In Second Conference on Domain SpeciJic Languages, 1999.]] Google ScholarDigital Library
- 20.David Harol, Doxtor Kozon, and Jorzy Tiuryn. Dynamic Logic. Tho MIT Pross, Cambridgo, Mass., 2000.]] Google ScholarDigital Library
- 21.Laurio J. Hondron, Josoph Hummol, and Aloxandru Nicolau. A gonoral data dopondonco lost for dynamic, pointor-basod data structuros. In Proceedings of the SIGPLAN '9 Conference on Programming Language Design and Implementation, 1994.]] Google ScholarDigital Library
- 22.John Hogg. Islands: Aliasing protoction in objoct-oriontod languagos. In Proceedings of the 5th Annual Conference on Object- Oriented Programming Systems, Languages and Applications, 1991.]] Google ScholarDigital Library
- 23.Josoph Hummol. Data Dependence Testing in the Presence of Pointers and Pointer-Based Data Structures. PhD thosis, Dopt. of Computor Scionco, Univ. of California at Irvino, 1998.]] Google ScholarDigital Library
- 24.Josoph Hummol, Laurio J. Hondron, and Aloxandru Nicolau. Abstract doscription of pointor data structuros: An approach for improving tho analysis and optimization of imporativo programs. A CM Letters on Programming Languages and Systems, 1(3), Soptombor 1993.]] Google ScholarDigital Library
- 25.Josoph Hummol, Laurio J. Hondron, and Aloxandru Nicolau. A languago for convoying tho aliasing proportios of dynamic, pointor-basod data structuros. In Proceedings of the 8th International Parallel Processing Symposium, Cancun, Moxico, April 26 29 1994.]] Google ScholarDigital Library
- 26.Jacob J. Jonson, Michaol E. Joorgonson, Nils Klarlund, and Michaol I. Schwartzbach. Automatic vorification of pointor programs using monadic socond ordor logic. In Proceedings of the SIGPLAN '97 Conference on Programming Language Design and Implementation, Las Vogas, NV, 1997.]] Google ScholarDigital Library
- 27.Piorro Jouvolot and David K. Gifford. Algobraic roconstruction of typos and offocts. In Proceedings of the 18th Annual ACM Symposium on the Principles of Programming Languages, 1991.]] Google ScholarDigital Library
- 28.Nils Klarlund and Michaol I. Schwartzbach. Graph typos. In Proceedings of the 20th Annual AG'M Symposium on the Principles of Programming Languages, Charloston, SC, 1993.]] Google ScholarDigital Library
- 29.Nils Klarlund and Michaol I. Schwartzbach. Graphs and docidablo transductions basod on odgo constraints. In Proc. lath Colloquium on J;res and Algebra in Programming, numbor 787 in LNCS, 1994.]] Google ScholarDigital Library
- 30.Naoki Kobayashi. Quasi-linoar typos. In Proceedings of the 26th Annual ACM Symposium on the Principles of Programming Languages, 1999.]] Google ScholarDigital Library
- 31.Viktor Kuncak. Dosigning an algorithm for rolo analysis. Mastor's thosis, Massachusotts Instituto of Tochnology, 2001.]]Google Scholar
- 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.]]Google Scholar
- 33.Tal Lov-Ami. TVLA: A framowork for kleone basod logic static analysos. Mastor's thosis, Tol-Aviv Univorsity, Israol, 2000.]]Google Scholar
- 34.Andors M011or and Michaol I. Schwartzbach. Tho Pointor Assortion Logic Engino, In Proceedings of the SIGPLAN '01 Conference on Programming Language Design and Implementation, 2001,]] Google ScholarDigital Library
- 35.Jamos Noblo, Jail Vitok, and John Pottor. Floxiblo alias protoction. In Proceedings of the 12th European Conference on Object-Oriented Programming, 1998.]] Google ScholarDigital Library
- 36.Trygvo Roonskaug. Working With Objects. Prontico Hall, 1996.]]Google Scholar
- 37.Noam Rinotzky and Mooly Sally. Intorprocodual shapo analysis for rocursivo programs. In Proceedings of the lOth International Conference on Compiler Construction, 2001.]] Google ScholarDigital Library
- 38.R. Rugina and M. Rinard. Pointor analysis for multithroadod programs. In Proceedings of the SIGPLAN '99 Conference on Programming Language Design and Implementation, Atlanta, GA, Ma w 1999.]] Google ScholarDigital Library
- 39.Radu Rugina and Martin Rinard. Dosign-drivon compilation. In Proceedings of the l Oth International Conference on Compiler Construction, 2001.]] Google ScholarDigital Library
- 40.Mooly Sally, Thomas Rops, and Roinhard Wilholm. Solving shapo-analysis probloms in languagos with dostructivo updating. In Proceedings of the 23d Annual ACM Symposium on the Principles of Programming Languages, St. Potorsburg Boach, FL, 1996.]] Google ScholarDigital Library
- 41.Mooly Sally, Thomas Rops, and Roinhard Wilholm. Paramotric shapo analysis via 3-valuod logic. In Proceedings of the 26th Annual AUM Symposium on the Principles of Programming Languages, 1999.]] Google ScholarDigital Library
- 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.]]Google Scholar
- 43.F. Smith, D. Walkor, and G. Morrisott. Alias typos. In Pwceedings of the lth European Symposium on Programming, Borlin, Gormany, March 2000.]]Google Scholar
- 44.Robort E. Strom and Daniol M. Yollin. Extonding typostato chocking using conditional livonoss analysis. IEEE 7i'ansactions on S@wae En9ineering, May 1993.]] Google ScholarDigital Library
- 45.Robort E. Strom and Shaula Yomini. Typostato: A programming languago concopt for onhancing softwaro roliability. 1EEE J;runsactions on Software Engineering, January 1986.]] Google ScholarDigital Library
- 46.Wolfgang Thomas. Languagos, automata, and logic. In Handbook of Drmal Languages Vol.3: Beyond Words. Springor-Vorlag, 1997.]] Google ScholarDigital Library
- 47.Michaol VanHilst and David Notkin. Using rolo compononts to implomont collaboration-basod dosigns. In Proceedings of the 11th Annual Conference on Object-Oriented Programming b'ystems, Languages and Applications, 1996.]] Google ScholarDigital Library
- 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.]]Google Scholar
- 49.David Walkor and Grog Morrisott. Alias typos for rocursivo data structuros. In Workshop on 2pes in Compilation, 2000.]] Google ScholarDigital Library
- 50.R. Wilson and M. S. Lam. Efficiont contoxt-sonsitivo pointor analysis for C programs. In Proceedings of the SIGPLAN '95 Conference on Programming Language Design and Implementation, Juno 1995.]] Google ScholarDigital Library
- 51.Zhichon Xu, Barton Millor, and Thomas Rops. Safoty chocking of machino codo. In Proceedings of the SIGPLAN '00 Conferwce on Programming Language Design and Implementation, 2000.]] Google ScholarDigital Library
- 52.Zhichon Xu, Thomas Rops, and Barton Millor. Typostato chocking of machino codo. In Proceedings of the 15th Euwpean b'ymposium on Programming, 2001.]]Google Scholar
- 53.Phillip M. Yolland. Exporimontal classification facilitios for Smalltalk. In Proceedings of the 6th Annual Conference on Object-Oriented Programming Systems, Languages and Applications, 1992.]] Google ScholarDigital Library
Recommendations
Role analysis
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 ...
Discovering role-based virtual knowledge flows for organizational knowledge support
In knowledge-intensive work environments, workers need task-relevant knowledge and documents to support the execution of tasks. A knowledge flow (KF) represents an individual's or group's knowledge-needs and referencing behavior of codified knowledge ...
The Role of Opinions and Ideas as Types of Tacit Knowledge
AbstractPurpose: The paper identifies the difficulties associated with managing tacit knowledge in its entirety among distributed individuals and proposes its categorization into types/kinds as a solution for its effective externalization and measurement. ...
Comments