Verification of object oriented programs using class invariants
Publication date
2000
Authors
Huizing, K.
Kuiper, R.
Bijlsma, A.
Editors
Advisors
Supervisors
DOI
Document Type
Part of book or chapter of book
Metadata
Show full item recordCollections
License
Abstract
A proof system is presented for the verification and derivation of object oriented programs
with as main features strong typing, dynamic binding, and inheritance. The proof
system is inspired on Meyer’s system of class invariants [12] and remedies its unsoundness,
which is already recognized by Meyer. Dynamic binding is treated in a flexible
way: when throughout the class hierarchy overriding methods respect the pre- and postconditions
of the overridden methods, very simple proof rules for method calls suffice;
more powerful proof rules are supplied for cases where one cannot or does not want to
follow this restriction.
The proof system is complete relative to proofs for properties of pointers and the
data domain.