|
ABSTRACT
Ownership types provide a statically enforceable notion of object-level encapsulation. We extend ownership types with computational effects to support reasoning about object-oriented programs. The ensuing system provides both access control and effects reporting. Based on this type system, we codify two formal systems for reasoning about aliasing and the disjointness of computational effects. The first can be used to prove that evaluation of two expressions will never lead to aliases, while the latter can be used to show the non-interference of two expressions.
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
|
Alfred V. Aho , Ravi Sethi , Jeffrey D. Ullman, Compilers: principles, techniques, and tools, Addison-Wesley Longman Publishing Co., Inc., Boston, MA, 1986
|
 |
3
|
Jonathan Aldrich , Valentin Kostadinov , Craig Chambers, Alias annotations for program understanding, Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, November 04-08, 2002, Seattle, Washington, USA
|
| |
4
|
Paulo Sergio Almeida. Balloon Types: Controlling sharing of state in data types. In ECOOP Proceedings, June 1997.
|
 |
5
|
David F. Bacon , Robert E. Strom , Ashis Tarafdar, Guava: a dialect of Java without data races, Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, p.382-400, October 2000, Minneapolis, Minnesota, United States
|
 |
6
|
|
 |
7
|
|
 |
8
|
Bruno Blanchet, Escape analysis for object-oriented languages: application to Java, Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, p.20-34, November 01-05, 1999, Denver, Colorado, United States
|
 |
9
|
Jan Vitek , Boris Bokowski, Confined types, Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, p.82-96, November 01-05, 1999, Denver, Colorado, United States
|
| |
10
|
|
 |
11
|
Chandrasekhar Boyapati , Robert Lee , Martin Rinard, Ownership types for safe programming: preventing data races and deadlocks, Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, November 04-08, 2002, Seattle, Washington, USA
|
 |
12
|
Chandrasekhar Boyapati , Martin Rinard, A parameterized type system for race-free Java programs, Proceedings of the 16th ACM SIGPLAN conference on Object oriented programming, systems, languages, and applications, p.56-69, October 14-18, 2001, Tampa Bay, FL, USA
|
| |
13
|
|
| |
14
|
John Boyland. The interdependence of effects and uniqueness. In 3rd Workshop on Formal Techniques for Java Programs, June 2001.
|
| |
15
|
|
| |
16
|
Ciarin Bryce and Chrislain Razafimahefa. An approach to safe object sharing. In OOPSLA Proceedings, October 1999.
|
| |
17
|
|
| |
18
|
|
| |
19
|
David Clarke. An object calculus with ownership and containment. In Foundations of Object oriented Programming (FOOL8), London, January 2001. Available from
|
| |
20
|
|
| |
21
|
|
 |
22
|
David G. Clarke , John M. Potter , James Noble, Ownership types for flexible alias protection, Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, p.48-64, October 18-22, 1998, Vancouver, British Columbia, Canada
|
 |
23
|
Karl Crary , David Walker , Greg Morrisett, Typed memory management in a calculus of capabilities, Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.262-275, January 20-22, 1999, San Antonio, Texas, United States
[doi> 10.1145/292540.292564]
|
| |
24
|
|
 |
25
|
|
| |
26
|
David L. Detlefs, K. Rustan M. Leino, and Greg Nelson. Wrestling with rep exposure. Technical Report SRC-RR-98-156, Compaq Systems Research Center, July 1998.
|
 |
27
|
Amer Diwan , Kathryn S. McKinley , J. Eliot B. Moss, Type-based alias analysis, Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation, p.106-117, June 17-19, 1998, Montreal, Quebec, Canada
|
| |
28
|
|
 |
29
|
|
| |
30
|
|
 |
31
|
Dan Grossman , Greg Morrisett , Trevor Jim , Michael Hicks , Yanling Wang , James Cheney, Region-based memory management in cyclone, Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation, June 17-19, 2002, Berlin, Germany
|
 |
32
|
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
|
 |
33
|
|
| |
34
|
Stuart Kent and John Howse. Value types in Eiffel. In TOOLS 19, Paris, 1996.
|
| |
35
|
Gunter Kniesel and Dirk Theisen. JAC -- Java with transitive readonly access control. In Intercontinental Workshop on Aliasing in Object-Oriented Systems, At ECOOP'99, Lisbon, Portugal, June 1999.
|
| |
36
|
Gary T. Leavens and Olga Antropova. ACL --- eliminating parameter aliasing with dynamic dispatch. Technical Report 98-08a, Department of Computer Science, Iowa State University, Ames, Iowa, 50011, February 1999.
|
| |
37
|
Gary T. Leavens, Albert L. Baker, and Clyde Ruby. JML: A notation for detailed design. In Haim Kilov, Bernhard Rumpe, and Ian Simmonds, editors, Behavioral Specifications of Businesses and Systems, pages 175--188. Kluwer Academic Publishers, Boston, 1999.
|
 |
38
|
K. Rustan M. Leino, Data groups: specifying the modification of extended state, Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, p.144-153, October 18-22, 1998, Vancouver, British Columbia, Canada
|
 |
39
|
|
 |
40
|
|
| |
41
|
|
| |
42
|
|
| |
43
|
P. Muller. Modular Specification and Verification of Object-Oriented Programs. PhD thesis, FernUniversitat Hagen, 2001.
|
| |
44
|
P. Muller and A. Poetzsch-Heffter. Universes: A type system for controlling representation exposure. In A. Poetzsch-Heffter and J. Meyer, editors, Programming Languages and Fundamentals of Programming. Fernuniversitat Hagen, 1999.
|
| |
45
|
Peter Muller, Arnd Poetzsch-Heffter, and Gary T. Leavens. Modular specification of frame properties in JML. Technical Report TR-02-02, Department of Computer Science, Iowa State University, February 2002.
|
| |
46
|
|
| |
47
|
|
| |
48
|
Martin Odersky and Christoph Zenger. Nested types. In Foundations of Object-oriented Programming (FOOL8), London, January 2001. Available from http://www.cs.williams.edu/~kim/FOOL/FOOL8.html.
|
| |
49
|
|
 |
50
|
|
| |
51
|
Mats Skoglund and Tobias Wrigstad. Alias control with read-only references. In Sixth Conference on Computer Science and Informatics, March 2002.
|
| |
52
|
|
| |
53
|
J.-P Talpin and P. Jouvelot. Polymorphic type, region, and effect inference. Journal of Functional Programming, 2(3):245--271, July 1992.
|
| |
54
|
Dirk Theisen. Enhancing encapsulation in OOP: A practical approach. Master's thesis, Institut fur Informatik III, Ramerst. 164, D-53117 Bonn, Universitat Bonn.
|
| |
55
|
|
| |
56
|
Mark Utting. Reasoning about aliasing. In The Fourth Australasian Refinement Workshop, 1995.
|
| |
57
|
|
| |
58
|
Alan Wills. Reasoning about aliasing. In ECOOP Proceedings, 1993.
|
| |
59
|
Bennett Norton Yates. A type-and-effect system for encapsulating memory in Java. Master's thesis, Department of Computer and Information Science and the Graduate School of the University of Oregon, August 1999.
|
CITED BY 35
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Alex Potanin , James Noble , Robert Biddle, Generic ownership: practical ownership control in programming languages, Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications, October 24-28, 2004, Vancouver, BC, CANADA
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Yoav Zibin , Alex Potanin , Mahmood Ali , Shay Artzi , Adam Kie|un , Michael D. Ernst, Object and reference immutability using Java generics, Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering, September 03-07, 2007, Dubrovnik, Croatia
|
|
|
|
|
|
|
|
|
|
|
|
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
|
|