SSA-based flow-sensitive type analysis: Combining constant and type propagation

Alexandre Lenart, Christopher Sadler, Sandeep K.S. Gupta

Research output: Chapter in Book/Report/Conference proceedingConference contribution

2 Scopus citations


An important step in compile-time optimization of object-oriented languages with polymorphic and virtual functions is static determination of concrete types (classes) of variables referring to objects. This information is essential for identifying monomorphic call sites and hence opening opportunities for interprocedural optimizations. In this paper, we present an Static Single Assignment (SSA) based interprocedural static type analysis algorithm, which combines constant propagation and type propagation. This algorithm enhances Wegman and Zadeck's [11] sparse conditional constant propagation (SCC) algorithm to perform simultaneous type analysis on a modified-SSA representation of a object-oriented program. Due to synergy between constant and types propagation, the proposed algorithm detects more constants and provides more precise type information than the case wherein the two analysis are performed separately.

Original languageEnglish (US)
Title of host publicationProceedings of the 2000 ACM Symposium on Applied Computing, SAC 2000
Number of pages5
StatePublished - 2000
Externally publishedYes
Event2000 ACM Symposium on Applied Computing, SAC 2000 - Como, Italy
Duration: Mar 19 2000Mar 21 2000

Publication series

NameProceedings of the ACM Symposium on Applied Computing


Other2000 ACM Symposium on Applied Computing, SAC 2000


  • Object-Oriented Language
  • SSA-Form
  • Type Analysis

ASJC Scopus subject areas

  • Software


Dive into the research topics of 'SSA-based flow-sensitive type analysis: Combining constant and type propagation'. Together they form a unique fingerprint.

Cite this