skip to main content
10.1145/503272.503276acmconferencesArticle/Chapter ViewAbstractPublication PagespoplConference Proceedingsconference-collections
Article

Role analysis

Authors Info & Claims
Published:01 January 2002Publication History

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

  1. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  2. 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 ScholarGoogle Scholar
  3. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  4. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  5. 5.John Boyland. Alias burying: Unique variables without destructive reads. Sewar Practice 84 Experience, (31(6)):533 553, May 2001.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. 6.Craig Chambers. Predicate classes. In Proceedings of the 7h European (Uonfernce on Object-Oriented Programming, pages 268 296, 1998.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  8. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  9. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  10. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  11. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  12. 12.Jeffrey S. Ibster and Alex Aiken. Checking programmer-specified non-aliasing. Technical Report CSD-01-1160, University of California, Berkeley, 2001.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  14. 14.Giorgio Ghelli and Debora Palmerini. Ibundations for extensible objects with roles. In Workshop on Dbundations of Object-Oriented Languages, Paris, 1999.]]Google ScholarGoogle Scholar
  15. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  16. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  17. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  18. 18.Goorg Gottlob, Michaol Schrofl, and Brigitto Roock. Extonding objoct-oriontod systoms with rolos. AUM ;mnsactions on Information Systems, 14(3), 1994.]]Google ScholarGoogle Scholar
  19. 19.Samuol Z. Guyor and Calvin Lin. An annotation languago for optimizing softwaro librarios. In Second Conference on Domain SpeciJic Languages, 1999.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. 20.David Harol, Doxtor Kozon, and Jorzy Tiuryn. Dynamic Logic. Tho MIT Pross, Cambridgo, Mass., 2000.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  22. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  23. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  24. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  25. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  26. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  27. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  28. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  29. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  30. 30.Naoki Kobayashi. Quasi-linoar typos. In Proceedings of the 26th Annual ACM Symposium on the Principles of Programming Languages, 1999.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. 31.Viktor Kuncak. Dosigning an algorithm for rolo analysis. Mastor's thosis, Massachusotts Instituto of Tochnology, 2001.]]Google ScholarGoogle Scholar
  32. 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 ScholarGoogle Scholar
  33. 33.Tal Lov-Ami. TVLA: A framowork for kleone basod logic static analysos. Mastor's thosis, Tol-Aviv Univorsity, Israol, 2000.]]Google ScholarGoogle Scholar
  34. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  35. 35.Jamos Noblo, Jail Vitok, and John Pottor. Floxiblo alias protoction. In Proceedings of the 12th European Conference on Object-Oriented Programming, 1998.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. 36.Trygvo Roonskaug. Working With Objects. Prontico Hall, 1996.]]Google ScholarGoogle Scholar
  37. 37.Noam Rinotzky and Mooly Sally. Intorprocodual shapo analysis for rocursivo programs. In Proceedings of the lOth International Conference on Compiler Construction, 2001.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  39. 39.Radu Rugina and Martin Rinard. Dosign-drivon compilation. In Proceedings of the l Oth International Conference on Compiler Construction, 2001.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  41. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  42. 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 ScholarGoogle Scholar
  43. 43.F. Smith, D. Walkor, and G. Morrisott. Alias typos. In Pwceedings of the lth European Symposium on Programming, Borlin, Gormany, March 2000.]]Google ScholarGoogle Scholar
  44. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  45. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  46. 46.Wolfgang Thomas. Languagos, automata, and logic. In Handbook of Drmal Languages Vol.3: Beyond Words. Springor-Vorlag, 1997.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  48. 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 ScholarGoogle Scholar
  49. 49.David Walkor and Grog Morrisott. Alias typos for rocursivo data structuros. In Workshop on 2pes in Compilation, 2000.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  51. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  52. 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 ScholarGoogle Scholar
  53. 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 ScholarGoogle ScholarDigital LibraryDigital Library

Recommendations

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in
  • Published in

    cover image ACM Conferences
    POPL '02: Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
    January 2002
    351 pages
    ISBN:1581134509
    DOI:10.1145/503272

    Copyright © 2002 ACM

    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 1 January 2002

    Permissions

    Request permissions about this article.

    Request Permissions

    Check for updates

    Qualifiers

    • Article

    Acceptance Rates

    POPL '02 Paper Acceptance Rate28of128submissions,22%Overall Acceptance Rate824of4,130submissions,20%

    Upcoming Conference

    POPL '25

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader