Semantics and implementation of schema evolution in object-oriented databases
SIGMOD '87 Proceedings of the 1987 ACM SIGMOD international conference on Management of data
Class modification in the GemStone object-oriented DBMS
OOPSLA '87 Conference proceedings on Object-oriented programming systems, languages and applications
The Gem–Stone data management system
Object-oriented concepts, databases, and applications
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Beyond schema evolution to database reorganization
OOPSLA/ECOOP '90 Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
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
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
A syntactic approach to type soundness
Information and Computation
Shoring up persistent applications
SIGMOD '94 Proceedings of the 1994 ACM SIGMOD international conference on Management of data
Subtypes vs. where clauses: constraining parametric polymorphism
Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
Object-oriented programming in the BETA programming language
Object-oriented programming in the BETA programming language
Region-based memory management
Information and Computation
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Adding type parameterization to the Java language
Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Solving shape-analysis problems in languages with destructive updating
ACM Transactions on Programming Languages and Systems (TOPLAS)
Ownership types for flexible alias protection
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Data groups: specifying the modification of extended state
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
Typed memory management in a calculus of capabilities
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Type-based race detection for Java
PLDI '00 Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation
Parametric polymorphism in Java: an approach to translation based on reflective features
OOPSLA '00 Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Communications of the ACM
Enforcing high-level protocols in low-level software
Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation
The pointer assertion logic engine
Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation
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
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
Adoption and focus: practical linear types for imperative programming
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
Using data groups to specify and check side effects
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
Region-based memory management in cyclone
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
The Java Language Specification
The Java Language Specification
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
IEEE Transactions on Knowledge and Data Engineering
Simple Ownership Types for Object Containment
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
Scalable and Recoverable Implementation of Object Evolution for the PJama1 Platform
POS-9 Revised Papers from the 9th International Workshop on Persistent Object Systems
ECCOP '96 Proceedings of the 10th European Conference on Object-Oriented Programming
TOOLS '00 Proceedings of the Technology of Object-Oriented Languages and Systems (TOOLS 33)
Report on the programming language Euclid
ACM SIGPLAN Notices
Object ownership and containment
Object ownership and containment
A practical flow-sensitive and context-sensitive C and C++ memory leak detector
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
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
Lazy modular upgrades in persistent object stores
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
Region inference for an object-oriented language
Proceedings of the ACM SIGPLAN 2004 conference on Programming language design and implementation
Generic ownership: practical ownership control in programming languages
OOPSLA '04 Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
A practical type system and language for reference immutability
OOPSLA '04 Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Object-oriented encapsulation for dynamically typed languages
OOPSLA '04 Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Interaction-based programming with classages
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Javari: adding reference immutability to Java
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Precise identification of composition relationships for UML class diagrams
Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering
Protecting representation with effect encapsulation
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Journal of Functional Programming
A dynamic analysis for revealing object ownership and sharing
Proceedings of the 2006 international workshop on Dynamic systems analysis
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)
Modal logic & ownership types: uniting three worlds
Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications
Featherweight generic confinement
Journal of Functional Programming
Towards imperative modules: reasoning about invariants and sharing of mutable state
Theoretical Computer Science - Components and objects
Observational purity and encapsulation
Theoretical Computer Science
Ownership and Immutability Inference for UML-Based Object Access Control
ICSE '07 Proceedings of the 29th international conference on Software Engineering
A type system for preventing data races and deadlocks in the java virtual machine language: 1
Proceedings of the 2007 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systems
Composition inference for UML class diagrams
Automated Software Engineering
Inferring aliasing and encapsulation properties for java
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
Safer open-nested transactions through ownership
Proceedings of the 13th ACM SIGPLAN Symposium on Principles and practice of parallel programming
Safe open-nested transactions through ownership
Proceedings of the twentieth annual symposium on Parallelism in algorithms and architectures
Taking an object-centric view on dynamic information with object flow analysis
Computer Languages, Systems and Structures
CoBoxes: Unifying Active Objects and Structured Heaps
FMOODS '08 Proceedings of the 10th IFIP WG 6.1 international conference on Formal Methods for Open Object-Based Distributed Systems
Kilim: Isolation-Typed Actors for Java
ECOOP '08 Proceedings of the 22nd European conference on Object-Oriented Programming
Enforcing object protocols by combining static and runtime analysis
Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
Efficient software model checking of soundness of type 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
Runtime Monitoring of Object Invariants with Guarantee
Runtime Verification
Minimal Ownership for Active Objects
APLAS '08 Proceedings of the 6th Asian Symposium on Programming Languages and Systems
Universe Types for Topology and Encapsulation
Formal Methods for Components and Objects
Safe open-nested transactions through ownership
Proceedings of the 14th ACM SIGPLAN symposium on Principles and practice of parallel programming
An approach to detection of UML-based ownership violation
Proceedings of the 2009 ACM symposium on Applied Computing
Lightweight annotations for controlling sharing in concurrent data structures
Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation
GC assertions: using the garbage collector to check heap properties
Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation
International Workshop on Aliasing, Confinement and Ownership in Object-Oriented Programming
Finding inconsistency for UML-based composition at program level
MISE '09 Proceedings of the 2009 ICSE Workshop on Modeling in Software Engineering
On understanding data abstraction, revisited
Proceedings of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications
Ownership Downgrading for Ownership Types
APLAS '09 Proceedings of the 7th Asian Symposium on Programming Languages and Systems
Immutable objects for a java-like language
ESOP'07 Proceedings of the 16th European conference on Programming
Spatial-behavioral types, distributed services, and resources
TGC'06 Proceedings of the 2nd international conference on Trustworthy global computing
Infering ownership types for encapsulated object-oriented program components
Program analysis and compilation, theory and practice
Detecting inefficiently-used containers to avoid bloat
PLDI '10 Proceedings of the 2010 ACM SIGPLAN conference on Programming language design and implementation
PHALANX: parallel checking of expressive heap assertions
Proceedings of the 2010 international symposium on Memory management
Verification of object-oriented software: The KeY approach
Verification of object-oriented software: The KeY approach
Ownership and immutability in generic Java
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Representation dependence testing using program inversion
Proceedings of the eighteenth ACM SIGSOFT international symposium on Foundations of software engineering
Encoding ownership types in java
TOOLS'10 Proceedings of the 48th international conference on Objects, models, components, patterns
JPure:: a modular purity system for java
CC'11/ETAPS'11 Proceedings of the 20th international conference on Compiler construction: part of the joint European conferences on theory and practice of software
Ownership types for the join calculus
FMOODS'11/FORTE'11 Proceedings of the joint 13th IFIP WG 6.1 and 30th IFIP WG 6.1 international conference on Formal techniques for distributed systems
Location types for safe distributed object-oriented programming
TOOLS'11 Proceedings of the 49th international conference on Objects, models, components, patterns
TOOLS'11 Proceedings of the 49th international conference on Objects, models, components, patterns
HAWKEYE: effective discovery of dataflow impediments to parallelization
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
Separating ownership topology and encapsulation with generic universe types
ACM Transactions on Programming Languages and Systems (TOPLAS)
Data refinement with low-level pointer operations
APLAS'05 Proceedings of the Third Asian conference on Programming Languages and Systems
Assertion-based encapsulation, object invariants and simulations
FMCO'04 Proceedings of the Third international conference on Formal Methods for Components and Objects
State based ownership, reentrance, and encapsulation
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
Interprocedural shape analysis for cutpoint-free programs
SAS'05 Proceedings of the 12th international conference on Static Analysis
Refinement and separation contexts
FSTTCS'04 Proceedings of the 24th international conference on Foundations of Software Technology and Theoretical Computer Science
The runtime structure of object ownership
ECOOP'06 Proceedings of the 20th European conference on Object-Oriented Programming
On ownership and accessibility
ECOOP'06 Proceedings of the 20th European conference on Object-Oriented Programming
ECOOP'06 Proceedings of the 20th European conference on Object-Oriented Programming
Dynamic architecture extraction
FATES'06/RV'06 Proceedings of the First combined international conference on Formal Approaches to Software Testing and Runtime Verification
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'06 Proceedings of the 15th European conference on Programming Languages and Systems
Refactoring and representation independence for class hierarchies
Theoretical Computer Science
ESOP'12 Proceedings of the 21st European conference on Programming Languages and Systems
Class-Modular, class-escape and points-to analysis for object-oriented languages
NFM'12 Proceedings of the 4th international conference on NASA Formal Methods
Multiple aggregate entry points for ownership types
ECOOP'12 Proceedings of the 26th European conference on Object-Oriented Programming
Static detection of loop-invariant data structures
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
Validity invariants and effects
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
Tracking linear and affine resources with JAVA(X)
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
The type discipline of behavioral separation
POPL '13 Proceedings of the 40th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Analyzing memory ownership patterns in C libraries
Proceedings of the 2013 international symposium on memory management
Local Reasoning for Global Invariants, Part I: Region Logic
Journal of the ACM (JACM)
Confinement framework for encapsulating objects
Frontiers of Computer Science: Selected Publications from Chinese Universities
Language support for dynamic, hierarchical data partitioning
Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications
Aliasing in Object-Oriented Programming
Notions of aliasing and ownership
Aliasing in Object-Oriented Programming
Object graphs with ownership domains: an empirical study
Aliasing in Object-Oriented Programming
State based encapsulation for modular reasoning about behavior-preserving refactorings
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 provide a statically enforceable way of specifying object encapsulation and enable local reasoning about program correctness in object-oriented languages. However, a type system that enforces strict object encapsulation is too constraining: it does not allow efficient implementation of important constructs like iterators. This paper argues that the right way to solve the problem is to allow objects of classes defined in the same module to have privileged access to each other's representations; we show how to do this for inner classes. This approach allows programmers to express constructs like iterators and yet supports local reasoning about the correctness of the classes, because a class and its inner classes together can be reasoned about as a module. The paper also sketches how we use our variant of ownership types to enable efficient software upgrades in persistent object stores.