Behavioral Subtyping is Equivalent to Modular Reasoning for Object-oriented Programs

Saved in:
Bibliographic Details
Title: Behavioral Subtyping is Equivalent to Modular Reasoning for Object-oriented Programs
Authors: Leavens, Gary, Naumann, David
Contributors: Computer Science
Source: archive/lib.dr.iastate.edu/cs_techreports/354/TR.pdf|||Fri Jan 14 23:45:03 UTC 2022
Publication Year: 2006
Collection: Digital Repository @ Iowa State University
Subject Terms: Software Engineering, Theory and Algorithms, Behavioral subtyping, modular reasoning, object-oriented programming, recursive types, denotational semantics, functional specification, Java Modeling Language (JML)
Description: Behavioral subtyping is an established idea that enables modular reasoning about behavioral properties of object-oriented programs. It requires that syntactic subtypes are behavioral refinements. It validates reasoning about a dynamically-dispatched method call, say E.m(), using the specification associated with the static type of the receiver expression E. For languages with references and mutable objects the idea of behavioral subtyping has not been rigorously formalized as such and the standard informal notion has inadequacies. This paper formalizes behavioral subtyping and introduces a new formalization of modular reasoning, called supertype abstraction. A Java-like sequential language is considered, with classes and interfaces, recursive types, first-class exceptions and handlers, and dynamically allocated mutable heap objects; the semantics is designed to serve as foundation for the Java Modeling Language (JML), a widely used specification language. Behavioral subtyping is characterized as sound and semantically complete for reasoning with supertype abstraction. ; Copyright © by Gary T. Leavens and David A. Naumann.
Document Type: article in journal/newspaper
File Description: application/pdf
Language: unknown
Relation: archive/lib.dr.iastate.edu/cs_techreports/354/; 1335; 5542641; cs_techreports/354; https://dr.lib.iastate.edu/handle/20.500.12876/20187
Availability: https://dr.lib.iastate.edu/handle/20.500.12876/20187
https://hdl.handle.net/20.500.12876/20187
Accession Number: edsbas.4BE3B694
Database: BASE
Be the first to leave a comment!
You must be logged in first