Figure 1: Region-Based Interprocedural Analysis Framework
A region-based analysis, as shown in Figure 1, proceeds in
one or two phases.
In the first phase, we analyze each procedure
independent of its calling environment to obtain a transfer function
;
this transfer function is
used (with appropriate parameter mapping) at call sites
when analyzing callers.
The second phase propagates data-flow values, applying them to the transfer functions from the previous phase,
to yield the data-flow input to each region.
The two-phase region-based analysis is similar to what is traditionally called interval-based analysis, where the intervals of interest are loops and procedure bodies.