Islands: aliasing protection in object-oriented languages
OOPSLA '91 Conference proceedings on Object-oriented programming systems, languages, and applications
Ownership types for flexible alias protection
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Alias burying: unique variables without destructive reads
Software—Practice & Experience - Special issue on aliasing in object-oriented systems
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Representation independence, confinement and access control [extended abstract]
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Adoption and focus: practical linear types for imperative programming
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
Parametric shape analysis via 3-valued logic
ACM Transactions on Programming Languages and Systems (TOPLAS)
Ownership types for safe programming: preventing data races and deadlocks
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Ownership, encapsulation and the disjointness of type and effect
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Alias annotations for program understanding
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Ownership types for object encapsulation
POPL '03 Proceedings of the 30th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
ECCOP '98 Proceedings of the 12th European Conference on Object-Oriented Programming
ECCOP '96 Proceedings of the 10th European Conference on Object-Oriented Programming
Ownership types for safe region-based memory management in real-time Java
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
Declaring and checking non-null types in an object-oriented language
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
Safejava: a unified type system for safe programming
Safejava: a unified type system for safe programming
Object ownership and containment
Object ownership and containment
Connecting effects and uniqueness with adoption
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Safe Concurrency for Aggregate Objects with Invariants
SEFM '05 Proceedings of the Third IEEE International Conference on Software Engineering and Formal Methods
Protecting representation with effect encapsulation
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Generic ownership for generic Java
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Modular invariants for layered object structures
Science of Computer Programming - Special issue on source code analysis and manipulation (SCAM 2005)
Language support for fast and reliable message-based communication in singularity OS
Proceedings of the 1st ACM SIGOPS/EuroSys European Conference on Computer Systems 2006
Modular shape analysis for dynamically encapsulated programs
ESOP'07 Proceedings of the 16th European conference on Programming
Immutable objects for a java-like language
ESOP'07 Proceedings of the 16th European conference on Programming
Scoped types and aspects for real-time java
ECOOP'06 Proceedings of the 20th European conference on Object-Oriented Programming
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
Validity invariants and effects
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
Non-null references by default in java: alleviating the nullity annotation burden
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
Dynamic ownership in a dynamic language
Proceedings of the 2007 symposium on Dynamic languages
Regional Logic for Local Reasoning about Global Invariants
ECOOP '08 Proceedings of the 22nd European conference on Object-Oriented Programming
Flexible Immutability with Frozen Objects
VSTTE '08 Proceedings of the 2nd international conference on Verified Software: Theories, Tools, Experiments
QVM: an efficient runtime for detecting defects in deployed systems
Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
Alias count facilitate ownership transfer
Companion to the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
Universe Types for Topology and Encapsulation
Formal Methods for Components and Objects
Aliasing, Confinement, and Ownership in Object-Oriented Programming
Object-Oriented Technology. ECOOP 2008 Workshop Reader
Ownership Downgrading for Ownership Types
APLAS '09 Proceedings of the 7th Asian Symposium on Programming Languages and Systems
Semantics of fractional permissions with nesting
ACM Transactions on Programming Languages and Systems (TOPLAS)
PHALANX: parallel checking of expressive heap assertions
Proceedings of the 2010 international symposium on Memory management
Ownership and immutability in generic Java
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Capabilities for uniqueness and borrowing
ECOOP'10 Proceedings of the 24th European conference on Object-oriented programming
Refactoring and representation independence for class hierarchies: extended abstract
Proceedings of the 12th Workshop on Formal Techniques for Java-Like Programs
Inferring ownership transfer for efficient message passing
Proceedings of the 16th ACM symposium on Principles and practice of parallel programming
Tunable static inference for generic universe types
Proceedings of the 25th European conference on Object-oriented programming
Proceedings of the 10th SIGPLAN symposium on New ideas, new paradigms, and reflections on programming and software
Separating ownership topology and encapsulation with generic universe types
ACM Transactions on Programming Languages and Systems (TOPLAS)
QVM: An Efficient Runtime for Detecting Defects in Deployed Systems
ACM Transactions on Software Engineering and Methodology (TOSEM)
Refactoring and representation independence for class hierarchies
Theoretical Computer Science
Disciplined concurrent programming using tasks with effects
HotPar'12 Proceedings of the 4th USENIX conference on Hot Topics in Parallelism
Multiple aggregate entry points for ownership types
ECOOP'12 Proceedings of the 26th European conference on Object-Oriented Programming
Ownership, filters and crossing handlers: flexible ownership in dynamic languages
Proceedings of the 8th symposium on Dynamic languages
Uniqueness and reference immutability for safe parallelism
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Combining traits with boxes and ownership types in a Java-like setting
Science of Computer Programming
Analyzing memory ownership patterns in C libraries
Proceedings of the 2013 international symposium on memory management
Local Reasoning for Global Invariants, Part II: Dynamic Boundaries
Journal of the ACM (JACM)
Programming with permissions in Mezzo
Proceedings of the 18th ACM SIGPLAN international conference on Functional programming
Ownership-Based isolation for concurrent actors on multi-core machines
ECOOP'13 Proceedings of the 27th European conference on Object-Oriented Programming
Aliasing in Object-Oriented Programming
Notions of aliasing and ownership
Aliasing in Object-Oriented Programming
Alias control for deterministic parallelism
Aliasing in Object-Oriented Programming
Aliasing in Object-Oriented Programming
Object ownership in program verification
Aliasing in Object-Oriented Programming
State based encapsulation for modular reasoning about behavior-preserving refactorings
Aliasing in Object-Oriented Programming
Confined roles and decapsulation in object teams: contradiction or synergy?
Aliasing in Object-Oriented Programming
Location types for safe programming with near and far references
Aliasing in Object-Oriented Programming
Hi-index | 0.00 |
Ownership simplifies reasoning about object-oriented programs by controlling aliasing and modifications of objects. Several type systems have been proposed to express and check ownership statically. For ownership systems to be practical, they must allow objects to migrate from one owner to another. This ownership transfer is common and occurs, for instance, during the initialization of data structures and when data structures are merged. However, existing ownership type systems either do not support ownership transfer at all or they are too restrictive, give rather weak static guarantees, or require a high annotation overhead. In this paper, we present UTT, an extension of Universe Types that supports ownership transfer. UTT combines ownership type checking with a modular static analysis to control references to transferable objects. UTT is very flexible because it permits temporary aliases, even across certain method calls. Nevertheless, it guarantees statically that a cluster of objects is externally-unique when it is transferred and, thus, that ownership transfer is type safe. UTT provides the same encapsulation as Universe Types and requires only negligible annotation overhead.