A Concurrent Language with a Uniform Treatment of Regions and Locks

A challenge for programming language research is to design and implement multi-threaded low-level languages providing static guarantees for memory safety and freedom from data races. Towards this goal, we present a concurrent language employing safe region-based memory management and hierarchical locking of regions. Both regions and locks are treated uniformly, and the language supports ownership transfer, early deallocation of regions and early release of locks in a safe manner.

[1]  Dan Grossman,et al.  Type-safe multithreading in cyclone , 2003, TLDI '03.

[2]  David Gay,et al.  Language support for regions , 2001, PLDI '01.

[3]  Alexander Aiken,et al.  Better static memory management: improving region-based analysis of higher-order languages , 1995, PLDI '95.

[4]  David Walker,et al.  On regions and linear types (extended abstract) , 2001, ICFP '01.

[5]  James Cheney,et al.  Region-based memory management in cyclone , 2002, PLDI '02.

[6]  J. Gregory Morrisett,et al.  Linear Regions Are All You Need , 2006, ESOP.

[7]  Martin C. Rinard,et al.  Ownership types for safe region-based memory management in real-time Java , 2003, PLDI '03.

[8]  Martín Abadi,et al.  Object Types against Races , 1999, CONCUR.

[9]  Mads Tofte,et al.  Implementation of the typed call-by-value λ-calculus using a stack of regions , 1994, POPL '94.

[10]  Jan Vitek,et al.  Scoped types for real-time Java , 2004, 25th IEEE International Real-Time Systems Symposium.

[11]  David Walker,et al.  Typed memory management via static capabilities , 2000, TOPL.

[12]  Jan Vitek,et al.  Implicit ownership types for memory management , 2008, Sci. Comput. Program..

[13]  David Walker,et al.  On Regions and Linear Types , 2001, ACM SIGPLAN International Conference on Functional Programming.

[14]  John Tang Boyland,et al.  Checking Interference with Fractional Permissions , 2003, SAS.

[15]  Fritz Henglein,et al.  A direct approach to control-flow sensitive region-based memory management , 2001, PPDP '01.

[16]  Martin C. Rinard,et al.  ACM Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA), November 2002 Ownership Types for Safe Programming: Preventing Data Races and Deadlocks , 2022 .