Optimizing a Solver of Polymorphism Constraints: SEMI
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.
Document Details
- Document Type
- Technical Report
- Publication Date
- Jun 01, 1999
- Accession Number
- ADA366256
Entities
People
- Robert O'callahan
Organizations
- Carnegie Mellon University