Recursive object types in a logic of object-oriented programs

  • Authors:
  • K. Rustan M. Leino

  • Affiliations:
  • Compaq Systems Research Center, 130 Lytton Ave., Palo Alto, CA

  • Venue:
  • Nordic Journal of Computing
  • Year:
  • 1998

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper formalizes a small object-oriented programming notation. The notation features imperative commands where objects can be shared (aliased), and is rich enough to allow subtypes and recursive object types. The syntax, type checking rules, axiomatic semantics, and operational semantics of the notation are given. A soundness theorem showing the consistency between the axiomatic and operational semantics is stated and proved. A simple corollary of the soundness theorem demonstrates the soundness of the type system. Because of the way types, fields, and methods are declared, no extra effort is required to handle recursive object types.