LFP '90 Proceedings of the 1990 ACM conference on LISP and functional programming
Islands: aliasing protection in object-oriented languages
OOPSLA '91 Conference proceedings on Object-oriented programming systems, languages, and applications
The Geneva convention on the treatment of object aliasing
ACM SIGPLAN OOPS Messenger
Region-based memory management
Information and Computation
Lackwit: a program understanding tool based on type inference
ICSE '97 Proceedings of the 19th international conference on Software engineering
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
Ownership types for flexible alias protection
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Making the future safe for the past: adding genericity to the Java programming language
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Constraints: a uniform approach to aliasing and typing
POPL '85 Proceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Software—Practice & Experience - Special issue on aliasing in object-oriented systems
Design and implementation of generics for the .NET Common language runtime
Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation
Featherweight Java: a minimal core calculus for Java and GJ
ACM Transactions on Programming Languages and Systems (TOPLAS)
A parameterized type system for race-free Java programs
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Encapsulating objects with confined types
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Types and programming languages
Types and programming languages
Region-based memory management in cyclone
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
A Theory of Objects
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
TCS '02 Proceedings of the IFIP 17th World Computer Congress - TC1 Stream / 2nd IFIP International Conference on Theoretical Computer Science: Foundations of Information Technology in the Era of Networking and Mobile Computing
Saving the world from bad beans: deployment-time confinement checking
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
Permission-based ownership: encapsulating state in higher-order typed languages
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
Generalized algebraic data types and object-oriented programming
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
X10: an object-oriented approach to non-uniform cluster computing
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Protecting representation with effect encapsulation
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Journal of Functional Programming
A framework for implementing pluggable type systems
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Featherweight generic confinement
Journal of Functional Programming
Checking interference with fractional permissions
SAS'03 Proceedings of the 10th international conference on Static analysis
A type system for reachability and acyclicity
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
The runtime structure of object ownership
ECOOP'06 Proceedings of the 20th European conference on Object-Oriented Programming
A framework for implementing pluggable type systems
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
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
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
Ownership transfer in universe types
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
Dynamic ownership in a dynamic language
Proceedings of the 2007 symposium on Dynamic languages
Implicit ownership types for memory management
Science of Computer Programming
Universe Types for Topology and Encapsulation
Formal Methods for Components and Objects
Existential Quantification for Variant Ownership
ESOP '09 Proceedings of the 18th European Symposium on Programming Languages and Systems: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009
Aliasing, Confinement, and Ownership in Object-Oriented Programming
Object-Oriented Technology. ECOOP 2008 Workshop Reader
International Workshop on Aliasing, Confinement and Ownership in Object-Oriented Programming
Type-Based Object Immutability with Flexible Initialization
Genoa Proceedings of the 23rd European Conference on ECOOP 2009 --- Object-Oriented Programming
Ownership Downgrading for Ownership Types
APLAS '09 Proceedings of the 7th Asian Symposium on Programming Languages and Systems
Ownership and immutability in generic Java
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Encoding ownership types in java
TOOLS'10 Proceedings of the 48th international conference on Objects, models, components, patterns
Location types for safe distributed object-oriented programming
TOOLS'11 Proceedings of the 49th international conference on Objects, models, components, patterns
Types, regions, and effects for safe programming with object-oriented parallel frameworks
Proceedings of the 25th European conference on Object-oriented programming
Tunable static inference for generic universe types
Proceedings of the 25th European conference on Object-oriented programming
Generic ownership: the case of java collections
Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion
Separating ownership topology and encapsulation with generic universe types
ACM Transactions on Programming Languages and Systems (TOPLAS)
Using ownership to reason about inherent parallelism in object-oriented programs
CC'10/ETAPS'10 Proceedings of the 19th joint European conference on Theory and Practice of Software, international conference on Compiler Construction
A calculus for boxes and traits in a java-like setting
COORDINATION'10 Proceedings of the 12th international conference on Coordination Models and Languages
ESOP'12 Proceedings of the 21st European conference on Programming Languages and Systems
Multiple aggregate entry points for ownership types
ECOOP'12 Proceedings of the 26th European conference on Object-Oriented Programming
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
MAO: ownership and effects for more effective reasoning about aspects
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
Combining traits with boxes and ownership types in a Java-like setting
Science of Computer Programming
Confinement framework for encapsulating objects
Frontiers of Computer Science: Selected Publications from Chinese Universities
Aliasing in Object-Oriented Programming
Understanding ownership types with dependent types
Aliasing in Object-Oriented Programming
Object graphs with ownership domains: an empirical study
Aliasing in Object-Oriented Programming
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 types enforce encapsulation in object-oriented programs by ensuring that objects cannot be leaked beyond object(s) that own them. Existing ownership programming languages either do not support parametric polymorphism (type genericity) or attempt to add it on top of ownership restrictions. Generic Ownership provides per-object ownership on top of a sound generic imperative language. The resulting system not only provides ownership guarantees comparable to established systems, but also requires few additional language mechanisms due to full reuse of parametric polymorphism. We formalise the core of Generic Ownership, highlighting that only restriction of this calls and owner subtype preservation are required to achieve deep ownership. Finally we describe how Ownership Generic Java (OGJ) was implemented as a minimal extension to Generic Java in the hope of bringing ownership types into mainstream programming.