An Approach to Behavorial Subtyping Based on Static Analysis
Abstract:
In mainstream object oriented languages the subclass relation is
defined in terms of subtyping, i.e. a class A is a subclass
of B if the type of A is a subtype of B.
In this paper this notion is extended to consider arbitrary
class properties obtained by a modular static analysis of the
class.
In such a setting, the subclass relation boils down to the order
relation on the abstract domain used for the analysis of the classes.
Furthermore we show how this approach yields a more semantic
characterization of class hierarchies and how it can be used for an
effective modular analysis of polymorphic code.
Back to the Homepage