Abstract Interpretation of Polymorphic Higher-Order Functions

Baraki, Gebreselassie (1993) Abstract Interpretation of Polymorphic Higher-Order Functions. PhD thesis, University of Glasgow.

Full text available as:
[thumbnail of 10992239.pdf] PDF
Download (3MB)

Abstract

This thesis describes several abstract interpretations of polymorphic functions. In all the interpretations, information about any instance of a polymorphic function is obtained from that of the smallest, thus avoiding the computation of the instance directly. This is useful in the case of recursive functions, because it avoids the expensive computation of finding fixed points of functionals corresponding to complex instances. We define an explicitly typed polymorphic language with the Hindley-Milner type system to illustrate our ideas, and provide two semantics of polymorphism that relate separate instances of any polymorphic function. The choice of which semantics to use depends on the particular program analysis we want to study. For studying strictness analysis and binding-time analysis, we introduce a semantics based on embedding-closure pairs. We see how the abstract function of the smallest instance of a polymorphic function is used in building an approximation to that of any instance. Furthermore, we extend the language to include lists, and describe both strictness analysis and binding-time analysis of lists. Thus, this work extends previous work by others, on analyses of polymorphic first-order functions and also of monomorphic higher-order functions, to polymorphic higher-order functions. In relating distinct instances of a polymorphic function, the approximate abstract function is expressed as the greatest lower bound of a set of functions. This may not be very cheap to compute. However, there are often ways of obtaining the same result by considering a smaller set of functions. Another issue concerns how close the approximations are to the exact values. In the first-order case, it is shown that the approximate values coincide with the exact values. In general this is not the case, but experimental results on strictness analysis indicate that good approximations are obtained. Embedding-projection pairs are used to provide a semantics that is convenient for termination analysis of polymorphic functions. We show that the abstract interpretation of an instance can be approximated by the least upper bound of a set of functions that are built from that of the smallest.

Item Type: Thesis (PhD)
Qualification Level: Doctoral
Additional Information: Adviser: John Hughes
Keywords: Computer science
Date of Award: 1993
Depositing User: Enlighten Team
Unique ID: glathesis:1993-74619
Copyright: Copyright of this thesis is held by the author.
Date Deposited: 27 Sep 2019 17:31
Last Modified: 27 Sep 2019 17:31
URI: https://theses.gla.ac.uk/id/eprint/74619

Actions (login required)

View Item View Item

Downloads

Downloads per month over past year