JML’s rich, inherited specifications for behavioral subtypes

  • Authors:
  • Gary T. Leavens

  • Affiliations:
  • Department of Computer Science, Iowa State University, Ames, IA

  • Venue:
  • ICFEM'06 Proceedings of the 8th international conference on Formal Methods and Software Engineering
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

The Java Modeling Language (JML) is used to specify detailed designs for Java classes and interfaces. It has a particularly rich set of features for specifying methods. This paper describes those features, with particular emphasis on the features related to specification inheritance. It shows how specification inheritance in JML forces behavioral subtyping, through a discussion of semantics and examples. It also describes a notion of modular reasoning based on static type information, supertype abstraction, which is made valid in JML by methodological restrictions on invariants, history constraints, and initially clauses and by behavioral subtyping.