• DocumentCode
    555352
  • Title

    Permission-based programming languages: NIER track

  • Author

    Aldrich, Jonathan ; Garcia, Ronald ; Hahnenberg, Mark ; Mohr, Manuel ; Naden, Karl ; Saini, Darpan ; Stork, Sven ; Sunshine, Joshua ; Tanter, Éric ; Wolff, Roger

  • Author_Institution
    Sch. of Comput. Sci., Carnegie Mellon Univ., Pittsburgh, PA, USA
  • fYear
    2011
  • fDate
    21-28 May 2011
  • Firstpage
    828
  • Lastpage
    831
  • 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.
  • Keywords
    concurrency control; data encapsulation; formal specification; object-oriented languages; object-oriented programming; parallel programming; security of data; storage management; Plaid; concurrency; information hiding; linear permission; memory management; object model; object specification; parallelize code; permission assertion; permission-based programming languages; protocol checking; runtime system; security; software engineering; type system; Java; Programming; Protocols; Runtime; Security; permissions; programming languages; types;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Engineering (ICSE), 2011 33rd International Conference on
  • Conference_Location
    Honolulu, HI
  • ISSN
    0270-5257
  • Print_ISBN
    978-1-4503-0445-0
  • Electronic_ISBN
    0270-5257
  • Type

    conf

  • DOI
    10.1145/1985793.1985915
  • Filename
    6032529