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.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Jun 01, 1999
Accession Number
ADA366256

Entities

People

  • Robert O'callahan

Organizations

  • Carnegie Mellon University

Tags

Communities of Interest

  • Materials and Manufacturing Processes

DTIC Thesaurus Topics

  • Abstracts
  • Accuracy
  • Algorithms
  • Computer Science
  • Consistency
  • Destructors
  • Detection
  • Diagrams
  • Errors
  • Guarantees
  • Hash Tables
  • Language
  • Object Code
  • Optimization
  • Procedures (Computers)
  • Specifications
  • Symbols

Fields of Study

  • Computer science

Readers

  • Computational Linguistics
  • Database Systems and Applications
  • Systems Analysis and Design

Technology Areas

  • AI & ML
  • AI & ML - Machine Learning Algorithms
  • Space