An AFG (Alias Flow Graph) is an undirected graph which
shows FS alias relations inside a single method. A node
represents either
- an expression that refers to an object (e.g., a reference variable,
an instance creation expression, or a method invocation)
or
- a parameter to/from a method or an instance.
An edge in AFG denotes an alias relation immediately
determined inside each method. Alias relations created by
assignment statements, variable definitions and their uses
(def-use relations), and assignments of parameters to/from
special nodes are called direct alias relations. Direct alias
relations are easily obtained by RAset-based FS may-alias
analysis inside methods [12]. Also, a path formed with
more than one edge is called an indirect alias relation.
Fig.6 shows a small JAVA program and its AFG. Nodes
in AFG are shown as circles with expressions inside, and
the edges are denoted with solid lines. Other strings out
of those nodes (e.g., Integer, =, Integer b, c;) are
comments used to identify the occurrences of expressions
and to help the reader imagine the original source text. In