Types for Hierarchic Shapes

Heap entities tend to contain complex references to each other. To manage this complexity, types which express shapes and hierarchies have been suggested. We survey type systems which describe such hierarchic shapes, how these types are used for reasoning about programs, and applications in concurrent programming.

[1]  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 .

[2]  Craig Chambers,et al.  Ownership Domains: Separating Aliasing Policy from Mechanism , 2004, ECOOP.

[3]  Anindya Banerjee,et al.  Ownership confinement ensures representation independence for object-oriented programs , 2002, JACM.

[4]  Gavin M. Bierman,et al.  Separation logic and abstraction , 2005, POPL '05.

[5]  James Noble,et al.  Checking ownership and confinement: Research Articles , 2004 .

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

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

[8]  K. Rustan M. Leino,et al.  Verification of Object-Oriented Programs with Invariants , 2003, J. Object Technol..

[9]  David F. Bacon,et al.  Guava: a dialect of Java without data races , 2000, OOPSLA '00.

[10]  Gary T. Leavens,et al.  Modular invariants for layered object structures , 2006, Sci. Comput. Program..

[11]  Craig Chambers,et al.  Alias annotations for program understanding , 2002, OOPSLA '02.

[12]  Jan Vitek,et al.  Confined types , 1999, OOPSLA '99.

[13]  Martin C. Rinard,et al.  A parameterized type system for race-free Java programs , 2001, OOPSLA '01.

[14]  Michael Barnett,et al.  Friends Need a Bit More: Maintaining Invariants Over Shared State , 2004, MPC.

[15]  Gary T. Leavens,et al.  Modular specification of frame properties in JML , 2003, Concurr. Comput. Pract. Exp..

[16]  Jens Palsberg,et al.  Encapsulating objects with confined types , 2001, OOPSLA 2001.

[17]  Peter W. O'Hearn,et al.  Separation and information hiding , 2004, POPL.

[18]  James Noble,et al.  Visualising Objects: Abstraction, Encapsulation, Aliasing, and Ownership , 2001, Software Visualization.

[19]  Anindya Banerjee,et al.  State Based Ownership, Reentrance, and Encapsulation , 2005, ECOOP.

[20]  James Noble,et al.  Ownership types for flexible alias protection , 1998, OOPSLA '98.

[21]  Dave Clarke,et al.  External Uniqueness Is Unique Enough , 2003, ECOOP.

[22]  K. Rustan M. Leino,et al.  Object Invariants in Dynamic Contexts , 2004, ECOOP.

[23]  James Noble,et al.  Scale-free geometry in OO programs , 2005, CACM.

[24]  James Noble,et al.  Checking Ownership and Confinement Properties , 2002 .

[25]  D. L. Parnas,et al.  On the criteria to be used in decomposing systems into modules , 1972, Software Pioneers.

[26]  Sophia Drossopoulou,et al.  Ownership, encapsulation and the disjointness of type and effect , 2002, OOPSLA '02.

[27]  Liuba Shrira,et al.  Ownership types for object encapsulation , 2003, POPL '03.

[28]  Jan Vitek,et al.  Flexible Alias Protection , 1998, ECOOP.

[29]  James Noble,et al.  Saving the world from bad beans: deployment-time confinement checking , 2003, OOPSLA 2003.