Incremental Reasoning for Multiple Inheritance

  • Authors:
  • Johan Dovland;Einar Broch Johnsen;Olaf Owe;Martin Steffen

  • Affiliations:
  • Department of Informatics, University of Oslo, Norway;Department of Informatics, University of Oslo, Norway;Department of Informatics, University of Oslo, Norway;Department of Informatics, University of Oslo, Norway

  • Venue:
  • IFM '09 Proceedings of the 7th International Conference on Integrated Formal Methods
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

Object-orientation supports code reuse and incremental programming. Multiple inheritance increases the power of code reuse, but complicates the binding of method calls and thereby program analysis. Behavioral subtyping allows program analysis under an open world assumption ; i.e., under the assumption that class hierarchies are extensible. However, method redefinition is severely restricted by behavioral subtyping, and multiple inheritance often leads to conflicting restrictions from independently designed superclasses. This paper presents an approach to incremental reasoning for multiple inheritance under an open world assumption. The approach, based on a notion of lazy behavioral subtyping , is less restrictive than behavioral subtyping and fits well with multiple inheritance, as it incrementally imposes context-dependent behavioral constraints on new subclasses. We formalize the approach as a calculus, for which we show soundness.