A properly encapsulated data representation can be revised without affecting the correctness of client programs and extensions but encapsulation is difficult to achieve for heap based structures and object-oriented (OO) programs with reentrant callbacks. Building on a discipline that uses assertions and auxiliary fields to manage invariants and transferrable ownership, we give a rule for modular reasoning based on simulations. This representation independence result is proved for a sequential OO language with recursive, generic classes
Current data abstraction mechanisms are not adequate to control sharing of state in the general case...
Formal reasoning in proof assistants, also known as mechanization, has high development costs. Build...
Object-oriented programming is often characterized as encapsulation plus polymorphism plus inheritan...
Abstract. A properly encapsulated data representation can be revised for refactoring or other purpos...
Ownership confinement expresses encapsulation in heap structures, in support of modular reasoning a...
ion Relations to Verify Abstract Data Type Representations," IEEE Transactions on Software Engi...
We present a logic language with encapsulation based on an object-oriented data model. We give a for...
Conventional specifications for object-oriented (OO) programs must adhere to behavioral subtyping in...
The introduction of real modularity in simulation languages as it is defined in general purpose prog...
Modularity is an essential aspect of knowledge representation theory and practice. It has received s...
Specification and verification for object oriented (OO) programs remains a great challenge despite o...
We present a logical relations model of a higher-order functional programming language with impredic...
AbstractOperational semantics is often presented in a rather syntactic fashion using relations speci...
Reasoning about object-oriented programs is difficult since such programs usually involve aliasing, ...
Genericity is a topic which is not sufficiently developed in state-based systems modelling, mainly d...
Current data abstraction mechanisms are not adequate to control sharing of state in the general case...
Formal reasoning in proof assistants, also known as mechanization, has high development costs. Build...
Object-oriented programming is often characterized as encapsulation plus polymorphism plus inheritan...
Abstract. A properly encapsulated data representation can be revised for refactoring or other purpos...
Ownership confinement expresses encapsulation in heap structures, in support of modular reasoning a...
ion Relations to Verify Abstract Data Type Representations," IEEE Transactions on Software Engi...
We present a logic language with encapsulation based on an object-oriented data model. We give a for...
Conventional specifications for object-oriented (OO) programs must adhere to behavioral subtyping in...
The introduction of real modularity in simulation languages as it is defined in general purpose prog...
Modularity is an essential aspect of knowledge representation theory and practice. It has received s...
Specification and verification for object oriented (OO) programs remains a great challenge despite o...
We present a logical relations model of a higher-order functional programming language with impredic...
AbstractOperational semantics is often presented in a rather syntactic fashion using relations speci...
Reasoning about object-oriented programs is difficult since such programs usually involve aliasing, ...
Genericity is a topic which is not sufficiently developed in state-based systems modelling, mainly d...
Current data abstraction mechanisms are not adequate to control sharing of state in the general case...
Formal reasoning in proof assistants, also known as mechanization, has high development costs. Build...
Object-oriented programming is often characterized as encapsulation plus polymorphism plus inheritan...