Balloon Types: Controlling Sharing of State in Data Types

Current data abstraction mechanisms are not adequate to control sharing of state in the general case involving objects in linked structures. The pervading possibility of sharing is a source of errors and an obstacle to language implementation techniques.

[1]  John C. Reynolds,et al.  Syntactic control of interference , 1978, POPL.

[2]  John Hogg,et al.  Islands: aliasing protection in object-oriented languages , 1991, OOPSLA '91.

[3]  John. Howse Value Types in Eiiel , 1996 .

[4]  David Robson,et al.  Smalltalk-80: The Language and Its Implementation , 1983 .

[5]  Peter Wegner Dimensions of object-based language design , 1987, OOPSLA 1987.

[6]  Naftaly H. Minsky Towards Alias-Free Pointers , 1996, ECOOP.

[7]  Franco Civello,et al.  Roles for composite objects in object-oriented analysis and design , 1993, OOPSLA '93.

[8]  Stuart Kent,et al.  Value Types in Eiffel , 1996 .

[9]  Reinhard Wilhelm,et al.  Solving shape-analysis problems in languages with destructive updating , 1998, TOPL.

[10]  Charles Antony Richard Hoare,et al.  Hints on programming language design. , 1973 .

[11]  Setrag Khoshafian,et al.  Object identity , 1986, OOPSLA 1986.

[12]  Guang R. Gao,et al.  Designing programming languages for analyzability: a fresh look at pointer data structures , 1992, Proceedings of the 1992 International Conference on Computer Languages.

[13]  John F. Wakerly,et al.  The programming language PASCAL , 1979, Microprocessors and microsystems.

[14]  J. J. Horning,et al.  Report on the programming language Euclid , 1977, SIGP.

[15]  Ole Lehrmann Madsen,et al.  Object-oriented programming in the BETA programming language , 1993 .

[16]  Laurie J. Hendren,et al.  Is it a tree, a DAG, or a cyclic graph? A shape analysis for heap-directed pointers in C , 1996, POPL '96.

[17]  Flemming Nielson,et al.  Abstract interpretation: a semantics-based tool for program analysis , 1995, LICS 1995.

[18]  Carl Hewitt,et al.  Actors: A Conceptual Foundation for Concurrent Object-Oriented Programming , 1987, Research Directions in Object-Oriented Programming.

[19]  Bjarne Stroustrup,et al.  C++ Programming Language , 1986, IEEE Softw..

[20]  Patrick Cousot,et al.  Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints , 1977, POPL.

[21]  Ken Arnold,et al.  The Java Programming Language , 1996 .

[22]  Sebastian Hunt,et al.  Frontiers and open sets in abstract interpretation , 1989, FPCA.

[23]  Bertrand Meyer,et al.  Eiffel: The Language , 1991 .

[24]  Emil Grosswald,et al.  The Theory of Partitions , 1984 .

[25]  Jay Banerjee,et al.  Composite object support in an object-oriented database system , 1987, OOPSLA '87.

[26]  Barbara Liskov,et al.  Abstraction and Specification in Program Development , 1986 .

[27]  David K. Gifford,et al.  Polymorphic effect systems , 1988, POPL '88.

[28]  Simon L. Peyton Jones,et al.  Strictness Analysis - A Practical Approach , 1985, FPCA.

[29]  Bruce J. MacLennan Values and objects in programming languages , 1982, SIGP.

[30]  Richard C. Holt,et al.  The Geneva convention on the treatment of object aliasing , 1992, OOPS.

[31]  Bent Bruun Kristensen,et al.  The BETA Programming Language , 1987, Research Directions in Object-Oriented Programming.