Subtyping, Modular Specification, and Modular Verification for Applicative Object-Oriented Programs

dc.contributor.author Leavens, Gary
dc.contributor.author Weihl, William
dc.contributor.department Computer Science
dc.date 2018-02-13T22:50:09.000
dc.date.accessioned 2020-06-30T01:55:09Z
dc.date.available 2020-06-30T01:55:09Z
dc.date.issued 1994-09-01
dc.description.abstract <p>We present a formal specification language and a formal verification logic for a simple object-oriented programming language. The language is applicative and statically typed, and supports subtyping and message-passing. The verification logic relies on a behavioral notion of subtyping that captures the intuition that a subtype behaves like its supertypes. We give a formal definition for legal subtype relations, based on the specified behavior of objects, and show that this definition is sufficient to ensure the soundness of the verification logic. The verification logic reflects the way programmers reason informally about object-oriented programs, in that it allows them to use static type information, which avoids the need to consider all possible run-time subtypes. We also show that the logic does not require reverification of unchanged code when legal subtypes are added to a program.</p>
dc.description.comments <p>© Gary T. Leavens and William E. Weihl, 1992, 1993, 1994. All rights reserved. Much of this report will appear in <em>Acta Informatica</em>, and so the copyright for those portions will be assumed by the Springer-Verlag.</p>
dc.identifier archive/lib.dr.iastate.edu/cs_techreports/121/
dc.identifier.articleid 1120
dc.identifier.contextkey 5339176
dc.identifier.s3bucket isulib-bepress-aws-west
dc.identifier.submissionpath cs_techreports/121
dc.identifier.uri https://dr.lib.iastate.edu/handle/20.500.12876/19930
dc.source.bitstream archive/lib.dr.iastate.edu/cs_techreports/121/TR92_28d.pdf|||Fri Jan 14 19:12:31 UTC 2022
dc.subject.disciplines Computer Sciences
dc.subject.disciplines Systems Architecture
dc.subject.disciplines Theory and Algorithms
dc.subject.keywords verification
dc.subject.keywords specification
dc.subject.keywords supertype abstraction
dc.subject.keywords subtype
dc.subject.keywords message passing
dc.subject.keywords polymorphism
dc.subject.keywords type checking
dc.subject.keywords modularity
dc.subject.keywords soundness
dc.subject.keywords object-oriented
dc.subject.keywords abstract data type
dc.title Subtyping, Modular Specification, and Modular Verification for Applicative Object-Oriented Programs
dc.type article
dc.type.genre article
dspace.entity.type Publication
relation.isOrgUnitOfPublication f7be4eb9-d1d0-4081-859b-b15cee251456
File
Original bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
TR92_28d.pdf
Size:
715.07 KB
Format:
Adobe Portable Document Format
Description:
Collections