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.
- 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 Scholar
- 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 ScholarDigital Library
- John Boyland. Alias burying: Unique variables without destructive reads. Software Practice and Experience, 31(6):533--553, May 2001. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- John Tang Boyland. Semantics of fractional permissions with nesting. ACM Trans. Program. Lang. Syst., 32:22:1--22:33, August 2010. Google ScholarDigital Library
- David Clarke. Object Ownership and Containment. PhD thesis, University of New South Wales, Sydney, Australia, 2001. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Aaron Greenhouse. A Programmer-Oriented Approach to Safe Concurrency. PhD thesis, School of Computer Science, Carnegie Mellon University, Pittsburgh, Pennsylvania, USA, 2003. Google ScholarDigital Library
- 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 ScholarDigital Library
- Robert Harper, Furio Honsell, and Gordon Plotkin. A framework for defining logics. Journal of the ACM, 40(1):143--184, 1993. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Frank Pfenning and Carsten Schürmann. Twelf user's guide, version 1.4. Available at http://www.cs.cm.edu/~twelf, 2002.Google Scholar
- William S. Retert. Implementing Permission Analysis. PhD thesis, University of Wisconsin-Milwaukee, Department of EE & CS, 2009. Google ScholarDigital Library
- 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 Scholar
Index Terms
- Alternate annotation checkers using fractional permissions
Recommendations
Certifying Model Checkers
CAV '01: Proceedings of the 13th International Conference on Computer Aided VerificationModel Checking is an algorithmic technique to determine whether a temporal property holds of a program. For linear time properties, a model checker produces a counterexample computation if the check fails. This computation acts as a "certificate" of ...
Variable permissions for concurrency verification
ICFEM'12: Proceedings of the 14th international conference on Formal Engineering Methods: formal methods and software engineeringIn the multicore era, verification for concurrent programs is increasingly important. Although state-of-the-art verification systems ensure safe concurrent accesses to heap data structures, they tend to ignore program variables. This is problematic ...
A flexible role-based delegation model using characteristics of permissions
DEXA'05: Proceedings of the 16th international conference on Database and Expert Systems ApplicationsRole-Based Access Control(RBAC) has recently received considerable attention as a promising alternative to traditional discretionary and mandatory access controls.[7] RBAC ensures that only authorized users are given access to protected data or ...
Comments