The modular verification of object-oriented code is made dif-ficult by the presence of aliasing. If there are multiple clients depending on the properties of an object, one client may break the property that others depend on. Knowledge of both aliasing and predicates allows us to verify whether clients and implementations are compliant with specifications. We have developed a modular verification approach, by introducing the novel abstraction object propositions, that combines predicates and information about object aliasing. In our methodology, even if shared data is modified, we know that an object invariant specified by a client holds. This allows two references pointing to the same object to have a consistent view of the object. Our obj...
Modules and objects both contain variables whose values may be constrained by invariants. For exampl...
Object invariants define the consistency of objects. They have subtle semantics, mainly because of c...
Automated verification is critical for ensuring that an implementation is correct and meets the spec...
Abstract. The presence of aliasing makes modular verification of object-oriented code difficult. If ...
Abstract. The presence of aliasing makes modular verification of object-oriented code difficult. If ...
A number of type systems have used typestates to specify and statically verify protocol compliance. ...
An object invariant defines what it means for an object’s data to be in a consistent state. Object i...
This thesis presents a proof outline logic for a simple object-oriented programming language. The la...
The object-oriented community is paying increasing attention to techniques for object instance encap...
Object invariants describe the consistency of object states, and are crucial for reasoning about the...
Classical specification and verification techniques support invariants for individual objects whose ...
Abstract. Object invariants describe the consistency of object states, and are crucial for reasoning...
AbstractWe show that verification of object-oriented programs by means of the assertional method can...
We have recently introduced object propositions as a modular verification technique that combines ab...
Object invariants define the consistency of objects. They have subtle semantics, mainly because of c...
Modules and objects both contain variables whose values may be constrained by invariants. For exampl...
Object invariants define the consistency of objects. They have subtle semantics, mainly because of c...
Automated verification is critical for ensuring that an implementation is correct and meets the spec...
Abstract. The presence of aliasing makes modular verification of object-oriented code difficult. If ...
Abstract. The presence of aliasing makes modular verification of object-oriented code difficult. If ...
A number of type systems have used typestates to specify and statically verify protocol compliance. ...
An object invariant defines what it means for an object’s data to be in a consistent state. Object i...
This thesis presents a proof outline logic for a simple object-oriented programming language. The la...
The object-oriented community is paying increasing attention to techniques for object instance encap...
Object invariants describe the consistency of object states, and are crucial for reasoning about the...
Classical specification and verification techniques support invariants for individual objects whose ...
Abstract. Object invariants describe the consistency of object states, and are crucial for reasoning...
AbstractWe show that verification of object-oriented programs by means of the assertional method can...
We have recently introduced object propositions as a modular verification technique that combines ab...
Object invariants define the consistency of objects. They have subtle semantics, mainly because of c...
Modules and objects both contain variables whose values may be constrained by invariants. For exampl...
Object invariants define the consistency of objects. They have subtle semantics, mainly because of c...
Automated verification is critical for ensuring that an implementation is correct and meets the spec...