Issue No. 04 - July/August (1991 vol. 8)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/52.300040
<p>A method for modular specification and verification using the ideas of subtype and normal type is presented. The method corresponds to informal techniques used by object-oriented programmers. The key idea is that objects of a subtype must behave like objects of that type's supertypes. An example program is used to show the reasoning problems that supertype abstraction may cause and how the method resolves them. Subtype polymorphism is addressed, and specification and verification update is discussed. A set of syntactic and semantic constraints on subtype relationships, which formalize the intuition that each object of a subtype must behave like some object of each of its supertypes, is examined. These constraints are the key to the soundness of the method. To state them precisely, a formal model of abstract type specifications is used.</p>
modular program specification; program verification; subtype polymorphism; syntactic constraints; object-oriented programs; subtype; normal type; reasoning problems; supertype abstraction; semantic constraints; formal model; abstract type specifications; object-oriented programming; program verification
G. T. Leavens, "Modular Specification and Verification of Object-Oriented Programs," in IEEE Software, vol. 8, no. , pp. 72-80, 1991.