skip to main content
10.1145/2048147.2048178acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
short-paper

Alternate annotation checkers using fractional permissions

Published:22 October 2011Publication History

ABSTRACT

Although existing annotation checker based on Fractional Permissions is powerful, it causes great space and runtime overhead. To address this issue, we propose to use a multi-layered approach for checking annotations. In addition to the heavyweight permission checker, we use two lightweight checkers: a conservative checker for those obviously correct cases, and a liberal checker for those obviously wrong cases. The type system for the conservative checker is more high-level, albeit less precise. To prove its soundness, we piggy-pack its proof to that of fractional permission, which is already proven sound. We also plan to implement both checkers on Fluid, an analysis framework for Java programs, and use various benchmarks to compare the performance of both approach.

References

  1. Jonathan Aldrich and Craig Chambers. Ownership domains: Separating aliasing policy from mechanism. In Martin Odersky, editor, ECOOP'04 - Object-Oriented Programming, 18th European Conference, volume 3086 of Lecture Notes in Computer Science, pages 1--25, Berlin, Heidelberg, New York, 2004. Springer.Google ScholarGoogle Scholar
  2. Boris Bokowski and Jan Vitek. Confined types. In OOPSLA'99 Conference Proceedings - Object-Oriented Programming Systems, Languages and Applications, volume 34, pages 82--96, New York, October 1999. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. John Boyland. Alias burying: Unique variables without destructive reads. Software Practice and Experience, 31(6):533--553, May 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. John Boyland and William Retert. Connecting effects and uniqueness with adoption. In Conference Record of POPL 2005: the 32nd ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages, pages 283--295, New York, 2005. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. John Boyland, William Retert, and Yang Zhao. Comprehending annotations on object-oriented programs using fractional permissions. In Matthew Parkinson, editor, International Workshop on Aliasing, Confinement and Ownership in object-oriented programming (IWACO), New York, 2009. ACM Press. To appear. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. John Tang Boyland. Semantics of fractional permissions with nesting. ACM Trans. Program. Lang. Syst., 32:22:1--22:33, August 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. David Clarke. Object Ownership and Containment. PhD thesis, University of New South Wales, Sydney, Australia, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. David G. Clarke, John M. Potter, and James Noble. Ownership types for flexible alias protection. In OOPSLA'98 Conference Proceedings - Object-Oriented Programming Systems, Languages and Applications, volume 33, pages 48--64, New York, October 1998. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Manuel Fähndrich and Robert DeLine. Adoption and focus: Practical linear types for imperative programming. In Proceedings of the ACM SIGPLAN '02 Conference on Programming Language Design and Implementation, volume 37, pages 13--24, New York, May 2002. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Manuel Fähndrich and K. Rustan M. Leino. Declaring and checking non-null types in an object-oriented language. In OOPSLA'03 Conference Proceedings - Object-Oriented Programming Systems, Languages and Applications, volume 38, pages 302--312, New York, November 2003. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Aaron Greenhouse. A Programmer-Oriented Approach to Safe Concurrency. PhD thesis, School of Computer Science, Carnegie Mellon University, Pittsburgh, Pennsylvania, USA, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Aaron Greenhouse, T. J. Halloran, and William L. Scherlis. Using Eclipse to demonstrate positive static assurance of Java program concurrency design intent. In Proceedings of the 2003 OOPSLA workshop on eclipse technology eXchange, pages 99--103, October 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Robert Harper, Furio Honsell, and Gordon Plotkin. A framework for defining logics. Journal of the ACM, 40(1):143--184, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. K. Rustan M. Leino, Arnd Poetzsch-Heffter, and Yunhong Zhou. Using data groups to specify and check side effects. In Proceedings of the ACM SIGPLAN '02 Conference on Programming Language Design and Implementation, volume 37, pages 246--257, New York, May 2002. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Naftaly Minsky. Towards alias-free pointers. In Pierre Cointe, editor, ECOOP'96 - Object-Oriented Programming, 10th European Conference, volume 1098 of Lecture Notes in Computer Science, pages 189--209, Berlin, Heidelberg, New York, July 1996. Springer. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Frank Pfenning and Carsten Schürmann. Twelf user's guide, version 1.4. Available at http://www.cs.cm.edu/~twelf, 2002.Google ScholarGoogle Scholar
  17. William S. Retert. Implementing Permission Analysis. PhD thesis, University of Wisconsin-Milwaukee, Department of EE & CS, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Philip Wadler. Linear types can change the world! In M. Broy and C. B. Jones, editors, Programming Concepts and Methods. Elsevier, North-Holland, 1990.Google ScholarGoogle Scholar

Index Terms

  1. Alternate annotation checkers using fractional permissions

    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
    • Article Metrics

      • Downloads (Last 12 months)0
      • Downloads (Last 6 weeks)0

      Other Metrics

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader