|
ABSTRACT
Object-oriented programming languages allow inter-object aliasing. Although necessary to construct linked data structures and networks of interacting objects, aliasing is problematic in that an aggregate object's state can change via an alias to one of its components, without the aggregate being aware of any aliasing.Ownership types form a static type system that indicates object ownership. This provides a flexible mechanism to limit the visibility of object references and restrict access paths to objects, thus controlling a system's dynamic topology. The type system is shown to be sound, and the specific aliasing properties that a system's object graph satisfies are formulated and proven invariant for well-typed programs.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
|
| |
2
|
|
| |
3
|
Alfred V. Aho , Ravi Sethi , Jeffrey D. Ullman, Compilers: principles, techniques, and tools, Addison-Wesley Longman Publishing Co., Inc., Boston, MA, 1986
|
| |
4
|
Paulo S6rgio Almeida. Balloon Types: Controlling sharing of state in data types. In ECOOP Proceedings, June 1997.
|
| |
5
|
Pierre America and Frank de Boer. A sound and complete proof system for SPOOL. Technical Report Technical Report 505, Philips Research Laboratories, 1990.
|
 |
6
|
|
| |
7
|
|
 |
8
|
|
| |
9
|
|
| |
10
|
|
| |
11
|
|
 |
12
|
Franco Civello, Roles for composite objects in object-oriented analysis and design, Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications, p.376-393, September 26-October 01, 1993, Washington, D.C., United States
|
 |
13
|
|
| |
14
|
Jin Song Dong and Roger Duke. Exclusive control within object oriented systems. In TOOLS Pacific 18, 1995.
|
| |
15
|
|
 |
16
|
Matthew Flatt , Shriram Krishnamurthi , Matthias Felleisen, Classes and mixins, Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.171-183, January 19-21, 1998, San Diego, California, United States
[doi> 10.1145/268946.268961]
|
| |
17
|
|
| |
18
|
|
| |
19
|
Peter Grogono and Patrice Chalin. Copying, sharing, and aliasing, in Proceedings of the Colloquium on Object Orientation in Databases and Software Engineering (COODBSE'94), Montreal, Quebec, May 1994.
|
| |
20
|
|
| |
21
|
Laurie J. Hendren and G. R. Gao. Designing programming languages for analyzability: A fresh look at pointer data structures. In Proceedings of the IEEE 1992, International Conference on Programming Languages, April 1992.
|
| |
22
|
Matthew Hennessy and James Riely. Resource Control in Systems of Mobile Agents. Technical Report 2/98, University of Sussex, February 1998.
|
 |
23
|
John Hogg, Islands: aliasing protection in object-oriented languages, Conference proceedings on Object-oriented programming systems, languages, and applications, p.271-285, October 06-11, 1991, Phoenix, Arizona, United States
|
 |
24
|
|
| |
25
|
Stuart Kent and John Howse. Value types in Eiffel. In TOOLS 19, Paris, 1996.
|
| |
26
|
Stuart Kent and ian Maung. Encapsulation and aggregation. In TOOLS Pacific 18, 1995.
|
 |
27
|
|
| |
28
|
K. Rustan M. Leino and Raymie Stata. Virginity: A contribution to the specification of object-oriented software. Technical Report SRC-TN-97-001, Digital Systems Research Center, April 1997.
|
 |
29
|
|
 |
30
|
|
 |
31
|
|
| |
32
|
|
| |
33
|
|
| |
34
|
|
| |
35
|
J. Gregory Morrisett. Refining First-Class Stores. In A CM SIGPLAN Worshop on State in Programming Languages, 1993.
|
| |
36
|
|
| |
37
|
|
| |
38
|
|
 |
39
|
|
| |
40
|
|
 |
41
|
|
| |
42
|
Jon G. Riecke and Chrisopher A. Stone. Privacy via Subsumption. In Fifth Workshop on Foundations of Object-Oriented Languages, 1998.
|
| |
43
|
James Rumbaugh , Michael Blaha , William Premerlani , Frederick Eddy , William Lorensen, Object-oriented modeling and design, Prentice-Hall, Inc., Upper Saddle River, NJ, 1991
|
 |
44
|
|
| |
45
|
|
| |
46
|
Mark Utting. Reasoning about aliasing. In The Fourth Australasian Refinement Workshop, 1995.
|
CITED BY 69
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Sara Porat , Marina Biberstein , Larry Koved , Bilha Mendelson, Automatic detection of immutable fields in Java, Proceedings of the 2000 conference of the Centre for Advanced Studies on Collaborative research, p.10, November 13-16, 2000, Mississauga, Ontario, Canada
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Derek Rayside , Lucy Mendel , Robert Seater , Daniel Jackson, An analysis and visualization for revealing object sharing, Proceedings of the 2005 OOPSLA workshop on Eclipse technology eXchange, p.11-15, October 16-17, 2005, San Diego, California
|
|
|
|
|
|
|
|
|
Tim Harris , Simon Marlow , Simon Peyton-Jones , Maurice Herlihy, Composable memory transactions, Proceedings of the tenth ACM SIGPLAN symposium on Principles and practice of parallel programming, June 15-17, 2005, Chicago, IL, USA
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Jesper Honig Spring , Filip Pizlo , Rachid Guerraoui , Jan Vitek, Reflexes: abstractions for highly responsive systems, Proceedings of the 3rd international conference on Virtual execution environments, June 13-15, 2007, San Diego, California, USA
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Tian Zhao , Jason Baker , James Hunt , James Noble , Jan Vitek, Implicit ownership types for memory management, Science of Computer Programming, v.71 n.3, p.213-241, May, 2008
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|