Optimizing a Solver of Polymorphism Constraints: SEMI
Author: Robert O'Callahan
Technical Report CMU-CS-99-136.
Download the
Postscript or
PDF
Abstract
As part of the Ajax system for analyzing Java bytecode programs, I
have developed an analysis called SEMI, based on type inference with
polymorphic recursion. SEMI has a number of optimizations which
significantly decrease the time and space requirements for analyzing
large programs. These optimizations exploit the characteristics of
Java programs to make analysis tractable. These assumptions, and the
optimizations that follow from them, may apply in other domains using
type inference with polymorphic recursion. In this report, I describe
the SEMI algorithm, the optimizations it incorporates, and the
characteristics of Java programs that justify the optimizations.
Brought to you by
Composable
Software Systems Research Group in the School
of Computer Science at Carnegie Mellon
University.
[Last modified 23-Aug-1999.
Mail suggestions to the Maintainer.]