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