Polymorphism, Subtyping, Whole Program Analysis and Accurate Data Types in Usage Analysis
Paper i proceeding, 2006
There are a number of choices to be made in the design
of a type based usage analysis. Some of these are: Should the analysis be monomorphic or have some degree of polymorphism? What aboutsubtyping? How should the analysis deal with user defined algebraic data types? Should it be a whole program analysis?
Several researchers have speculated that these features are important but there has been a lack of empirical evidence. In this paper we present a systematic evaluation of each of these features in the context of a full scale implementation of a usage analysis for Haskell.
Our measurements show that all features increase the precision. It is,
however, not necessary to have them all to obtain an acceptable precision.