We investigate information hiding in object-based programs and the associated mismatch. While client reasoning is in terms of in-terface specifications, the implementation of an interface is verified against different specifications that involve invariants about inter-nal data structures. Soundness of this mismatched reasoning de-pends on encapsulation of internal data structures. The problem is that encapsulation is notoriously difficult to achieve in contempo-rary software in which shared mutable objects are ubiquitous. We account for the mismatch via proof rules that phrase the mismatch using explicit conditions that are imposed on client effects. Effects are tracked using ghost state and separation assertions in a style that has been us...
Hoare logic ([7]) is an important tool for formally proving correctness properties of programs. It t...
Information hiding controls which parts of a class are visible to non-privileged and privileged clie...
Information hiding controls which parts of a module are visible to different clients. This aids main...
Information hiding is an established principle that controls which parts of a module are visible to ...
The presence of aliasing makes modular verification of object-oriented code difficult. If multiple c...
Framing is important for specification and verification, especially in programs that mutate data str...
We present the first complete soundness proof of the antiframe rule, a recently proposed proof rule...
Encapsulation and information hiding are essential and fundamental to object-oriented and aspect-ori...
Hoare logics rely on the fact that logic formulae can encode, or specify, program states, including ...
Ownership types provide a statically enforceable notion of object-level encapsulation. We extend own...
The object-oriented community is paying increasing attention to techniques for object instance encap...
A: Not really. When we design, we need tools such as use cases to let us piece together the parts di...
O’Hearn, Reynolds and Yang introduced local Hoare reasoning about mutable data structures using sepa...
International audienceFrame and anti-frame rules have been proposed as proof rules for modular reaso...
Ownership types provide a statically enforceable notion of object-level encapsulation. We extend own...
Hoare logic ([7]) is an important tool for formally proving correctness properties of programs. It t...
Information hiding controls which parts of a class are visible to non-privileged and privileged clie...
Information hiding controls which parts of a module are visible to different clients. This aids main...
Information hiding is an established principle that controls which parts of a module are visible to ...
The presence of aliasing makes modular verification of object-oriented code difficult. If multiple c...
Framing is important for specification and verification, especially in programs that mutate data str...
We present the first complete soundness proof of the antiframe rule, a recently proposed proof rule...
Encapsulation and information hiding are essential and fundamental to object-oriented and aspect-ori...
Hoare logics rely on the fact that logic formulae can encode, or specify, program states, including ...
Ownership types provide a statically enforceable notion of object-level encapsulation. We extend own...
The object-oriented community is paying increasing attention to techniques for object instance encap...
A: Not really. When we design, we need tools such as use cases to let us piece together the parts di...
O’Hearn, Reynolds and Yang introduced local Hoare reasoning about mutable data structures using sepa...
International audienceFrame and anti-frame rules have been proposed as proof rules for modular reaso...
Ownership types provide a statically enforceable notion of object-level encapsulation. We extend own...
Hoare logic ([7]) is an important tool for formally proving correctness properties of programs. It t...
Information hiding controls which parts of a class are visible to non-privileged and privileged clie...
Information hiding controls which parts of a module are visible to different clients. This aids main...