Skip to main content

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 7850))

Abstract

Fractional permissions allow resource tracking type systems to give out multiple read accesses to the same resource without losing the ability to re-form a unique write access later. This paper describes the motivation for fractional permissions, and different fractional models including those for which fractional scaling is required. We describe a particular system of fractional permissions that uses scaling to support the technique of “nesting.”

Work supported in part by the National Science Foundation (CCF-0702635). The opinions expressed here are not necessarily those of the National Science Foundation or the US Government.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Boyland, J.: Checking Interference with Fractional Permissions. In: Cousot, R. (ed.) SAS 2003. LNCS, vol. 2694, pp. 55–72. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  2. Bornat, R., Calcagno, C., O’Hearn, P., Parkinson, M.: Permission accounting in separation logic. In: Conference Record of POPL 2005: the 32nd ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages, pp. 259–270. ACM Press, New York (2005)

    Google Scholar 

  3. Brookes, S.: Variables as resource for shared-memory programs: Semantics and soundness. In: Twenty-Second Conference on the Mathematical Foundations of Programming Semantics, pp. 123–150. North-Holland, Elsevier (2006)

    Google Scholar 

  4. Bierhoff, K., Aldrich, J.: Modular typestate verification of aliased objects. Technical Report CMUISRI-07-105, School of Computer Science, Carnegie Mellon University (2007)

    Google Scholar 

  5. Terauchi, T., Aiken, A.: A capability calculus for concurrency and determinism. ACM Transactions on Programming Languages and Systems 30(5), 1–30 (2008)

    Article  Google Scholar 

  6. Turon, A., Wand, M.: A resource analysis of the π-calculus. In: Twenty-Seventh Conference on the Mathematical Foundations of Programming Semantics (2011)

    Google Scholar 

  7. Dodds, M., Feng, X., Parkinson, M., Vafeiadis, V.: Deny-Guarantee Reasoning. In: Castagna, G. (ed.) ESOP 2009. LNCS, vol. 5502, pp. 363–377. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  8. Hurlin, C.: Specification and Verification of Multithreaded Object-Oriented Programs with Separation Logic. PhD thesis, Université Nice—Sophia Antipolis (September 2009)

    Google Scholar 

  9. Leino, K.R.M., Müller, P.: A Basis for Verifying Multi-threaded Programs. In: Castagna, G. (ed.) ESOP 2009. LNCS, vol. 5502, pp. 378–393. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  10. O’Hearn, P.W., Takeyama, M., Power, A.J., Tennent, R.D.: Syntactic control of interference revisited. In: Eleventh Conference on the Mathematical Foundations of Programming Semantics, vol. 1. North-Holland, Elsevier (1995)

    Google Scholar 

  11. Walker, D., Crary, K., Morrisett, G.: Typed memory management via static capabilities. ACM Transactions on Programming Languages and Systems 22(4), 701–771 (2000)

    Article  Google Scholar 

  12. Wadler, P.: Linear types can change the world! In: Broy, M., Jones, C.B. (eds.) Programming Concepts and Methods. Elsevier, North-Holland (1990)

    Google Scholar 

  13. Dockins, R., Hobor, A., Appel, A.W.: A Fresh Look at Separation Algebras and Share Accounting. In: Hu, Z. (ed.) APLAS 2009. LNCS, vol. 5904, pp. 161–177. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  14. Parkinson, M.J.: Local reasoning for Java. PhD thesis, University of Cambridge (November 2005)

    Google Scholar 

  15. Bierhoff, K., Aldrich, J.: Modular typestate verification of aliased objects. In: OOPSLA 2007 Conference Proceedings—Object-Oriented Programming Systems, Languages and Applications, pp. 301–320. ACM Press, New York (2007), Companion technical report: http://reports-archive.adm.cs.cmu.edu/anon/isri2007/CMUISRI-07-105.pdf

    Google Scholar 

  16. O’Hearn, P.W., Yang, H., Reynolds, J.C.: Separation and information hiding. In: Conference Record of POPL 2004: the 31st ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages, pp. 268–280. ACM Press, New York (2004)

    Google Scholar 

  17. Boyland, J.: Semantics of fractional permissions with nesting. ACM Transactions on Programming Languages and Systems 32(6), Article 22 (August 2010)

    Google Scholar 

  18. Fähndrich, M., DeLine, R.: Adoption and focus: Practical linear types for imperative programming. In: Proceedings of the ACM SIGPLAN 2002 Conference on Programming Language Design and Implementation, pp. 13–24. ACM Press, New York (2002)

    Chapter  Google Scholar 

  19. Boyland, J.: The non-linearity of volatile in Java. In: Wrigstad, T. (ed.) International Workshop on Aliasing, Confinement and Ownership in object-oriented programming, IWACO (2007)

    Google Scholar 

  20. Müller, P.: Modular Specification and Verification of Object-Oriented Programs. PhD thesis, Fernuniversität Hagen (2001)

    Google Scholar 

  21. Ruby, C., Leavens, G.T.: Safely creating correct subclasses without seeing superclass code. In: OOPSLA 2000 Conference Proceedings—Object-Oriented Programming Systems, Languages and Applications, pp. 208–228. ACM Press, New York (2000)

    Google Scholar 

  22. Boyland, J.: Why we should not add readonly to Java, yet. In: 7th ECOOP Workshop on Formal Techniques for Java-like Programs (2005)

    Google Scholar 

  23. Wrigstad, T.: External Uniqueness: A Theory of Aggregate Uniqueness for Object-Oriented Programming. PhD thesis, Stockholm University (2004)

    Google Scholar 

  24. Boyland, J.: Alias burying: Unique variables without destructive reads. Software Practice and Experience 31(6), 533–553 (2001)

    Article  MATH  Google Scholar 

  25. Parkinson, M., Bierman, G.: Separation Logic for Object-Oriented Programming. In: Clarke, D., Noble, J., Wrigstad, T. (eds.) Aliasing in Object-Oriented Programming. LNCS, vol. 7850, pp. 366–406. Springer, Heidelberg (2013)

    Google Scholar 

  26. Gotsman, A., Berdine, J., Cook, B., Rinetzky, N., Sagiv, M.: Local Reasoning for Storable Locks and Threads. In: Shao, Z. (ed.) APLAS 2007. LNCS, vol. 4807, pp. 19–37. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  27. Gotsman, A., Berdine, J., Cook, B.: Precision and the conjunction rule in concurrent separation logic. Electronic Notes in Theoretical Computer Science 276, 171–190 (2011); Presented at Twenty-seventh Conference on the Mathematical Foundations of Programming Semantics

    Article  MathSciNet  Google Scholar 

  28. Vafeiadis, V.: Concurrent separation logic and operational semantics. Electronic Notes in Theoretical Computer Science 276, 335–351 (2011); Presented at Twenty-seventh Conference on the Mathematical Foundations of Programming Semantics

    Article  MathSciNet  Google Scholar 

  29. Retert, W.S.: Implementing Permission Analysis. PhD thesis, University of Wisconsin–Milwaukee, Department of EE & CS (2009)

    Google Scholar 

  30. Boyland, J., Sun, C.: Proving the correctness of fractional permissions for a Java-like kernel language. In: Zucca, E. (ed.) Informal Proceedings of 18th International Workshop on Foundations of Object-Oriented Languages, FOOL 2011 (October 2011)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Boyland, J. (2013). Fractional Permissions. In: Clarke, D., Noble, J., Wrigstad, T. (eds) Aliasing in Object-Oriented Programming. Types, Analysis and Verification. Lecture Notes in Computer Science, vol 7850. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-36946-9_10

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-36946-9_10

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-36945-2

  • Online ISBN: 978-3-642-36946-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics