skip to main content
10.1145/1985793.1985915acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

Permission-based programming languages (NIER track)

Authors Info & Claims
Published:21 May 2011Publication History

ABSTRACT

Linear permissions have been proposed as a lightweight way to specify how an object may be aliased, and whether those aliases allow mutation. Prior work has demonstrated the value of permissions for addressing many software engineering concerns, including information hiding, protocol checking, concurrency, security, and memory management.

We propose the concept of a permission-based programming language - a language whose object model, type system, and runtime are all co-designed with permissions in mind. This approach supports an object model in which the structure of an object can change over time, a type system that tracks changing structure in addition to addressing the other concerns above, and a runtime system that can dynamically check permission assertions and leverage permissions to parallelize code. We sketch the design of the permission-based programming language Plaid, and argue that the approach may provide significant software engineering benefits.

References

  1. J. Aldrich, J. Sunshine, D. Saini, and Z. Sparks. Typestate-Oriented Programming. In Proc. Onward!, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. H. G. Baker. 'Use-once' variables and linear objects - storage management, reflection, and multi-threading. ACM SIGPLAN Notices, 30(1):45--52, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. N. Beckman. Types for Correct Concurrent API Usage. PhD thesis, Carnegie Mellon University, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. K. Bierhoff and J. Aldrich. Modular typestate verification of aliased objects. In Object-Oriented Programming, Systems, Languages, and Applications, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. B. Bokowski and J. Vitek. Confined Types. In Object-Oriented Programming, Systems, Languages, and Applications, November 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. C. Boyapati, R. Lee, and M. Rinard. Ownership Types for Safe Programming: Preventing Data Races and Deadlocks. In Object-Oriented Programming, Systems, Languages, and Applications, November 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. J. Boyland, J. Noble, and W. Retert. Capabilities for sharing: A generalization of uniqueness and read-only. In European Conference on Object-Oriented Programming, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. R. DeLine and M. Fähndrich. Enforcing high-level protocols in low-level software. In Programming Language Design and Implementation, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. A. Greenhouse and W. L. Scherlis. Assuring and evolving concurrent programs: annotations and policy. In International Conference on Software Engineering, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. D. Grossman, G. Morrisett, T. Jim, M. Hicks, Y. Wang, and J. Cheney. Region-based memory management in cyclone. In Programming Language Design and Implementation, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. J. Hogg. Islands: Aliasing Protection in Object-Oriented Languages. In Object-Oriented Programming, Systems, Languages, and Applications, October 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. J. Noble, J. Vitek, and J. Potter. Flexible Alias Protection. In European Conference on Object-Oriented Programming, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. R. Plasmeijer and M. van Eekelen. Keep it Clean: A unique approach to functional programming. In ACM Sigplan Notices, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. S. Stork, P. Marques, and J. Aldrich. Concurrency by Default: Using Permissions to Express Dataflow in Stateful Programs. In Proc. Onward!, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. J. A. Tov and R. Pucella. Practical affine types. In Principles of Programming Languages, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. P. Wadler. Linear types can change the world! In Working Conference on Programming Concepts and Methods, 1990.Google ScholarGoogle Scholar
  17. D. Walker, K. Crary, and G. Morrisett. Typed memory management via static capabilities. ACM Trans. Program. Lang. Syst., 22(4):701--771, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Permission-based programming languages (NIER track)

      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
        ICSE '11: Proceedings of the 33rd International Conference on Software Engineering
        May 2011
        1258 pages
        ISBN:9781450304450
        DOI:10.1145/1985793

        Copyright © 2011 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: 21 May 2011

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        Overall Acceptance Rate276of1,856submissions,15%

        Upcoming Conference

        ICSE 2025

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader