We present a Hoare-style specification and verification approach for invariants in sequential OO programs. It allows invariants over non-hierarchical object structures, in which update patterns that span several objects and methods occur frequently. This gives rise to invalidating and subsequent re-establishing of invariants in a way that compromises standard data induction, which assumes invariants hold when a method is called. We provide specification constructs (inc and coop) that identify objects and methods involved in such patterns, allowing a refined form of data induction. The approach now handles practical designs, as illustrated by a specification of the Observer Pattern
The program state for object-oriented languages, such as Java or C#, consists of both variables loca...
AbstractThe program state for object-oriented languages, such as Java or C#, consists of both variab...
An object invariant defines what it means for an object’s data to be in a consistent state. Object i...
We present a Hoare-style specification and verification approach for invariants in sequential OO pro...
AbstractWe present a Hoare-style specification and verification approach for invariants in sequentia...
In general, invariants may depend on the state of other objects. The approach introduced in this pap...
AbstractIn general, invariants may depend on the state of other objects. The approach introduced in ...
The layering that is present in many OO designs is not accounted for in current interpretations of i...
Although invariants have a long history, their meaning in OO designs is still under discussion. OO d...
Specification and verification of object oriented programs usually features in some capacity the con...
The correctness of object-oriented programs relies on object invariants. A system for verifying such...
Formal specifications describe the behaviour of object-oriented systems precisely, with the intent t...
Although invariants have a long history, their meaning in OO designs is still under discussion. OO d...
Object invariants define the consistency of objects. They have subtle semantics, mainly because of c...
Object invariants define the consistency of objects. They have subtle semantics, mainly because of c...
The program state for object-oriented languages, such as Java or C#, consists of both variables loca...
AbstractThe program state for object-oriented languages, such as Java or C#, consists of both variab...
An object invariant defines what it means for an object’s data to be in a consistent state. Object i...
We present a Hoare-style specification and verification approach for invariants in sequential OO pro...
AbstractWe present a Hoare-style specification and verification approach for invariants in sequentia...
In general, invariants may depend on the state of other objects. The approach introduced in this pap...
AbstractIn general, invariants may depend on the state of other objects. The approach introduced in ...
The layering that is present in many OO designs is not accounted for in current interpretations of i...
Although invariants have a long history, their meaning in OO designs is still under discussion. OO d...
Specification and verification of object oriented programs usually features in some capacity the con...
The correctness of object-oriented programs relies on object invariants. A system for verifying such...
Formal specifications describe the behaviour of object-oriented systems precisely, with the intent t...
Although invariants have a long history, their meaning in OO designs is still under discussion. OO d...
Object invariants define the consistency of objects. They have subtle semantics, mainly because of c...
Object invariants define the consistency of objects. They have subtle semantics, mainly because of c...
The program state for object-oriented languages, such as Java or C#, consists of both variables loca...
AbstractThe program state for object-oriented languages, such as Java or C#, consists of both variab...
An object invariant defines what it means for an object’s data to be in a consistent state. Object i...