Programmers informally reason about object-oriented programs by using subtype relationships to classify the behavior of objects of different types and by letting supertypes stand for all their subtypes. We describe formal specification and verification techniques for such programs that mimic these informal ideas. Our techniques are modular and extend standard techniques for reasoning about programs that use abstract data types. Semantic restrictions on subtype relationships guarantee the soundness of these techniques.
No takes yet. Share an insight, caveat, or question.
Leavens et al. (1990) studied this question.
Synapse has enriched 3 closely related papers on similar clinical questions. Consider them for comparative context: