/AExp

Implementation of available expressions analysis (constraint based approach).

Primary LanguageJava

Available Expressions

Implementation of available expressions through constraint based analysis.

Track available expressions for each program point. Initialize the first constraint term (exit[init]) to empty set. Initialize every other constraint term to AE (the set of expressions) and kill when we find a path along which it is not available.

After the analysis is performed, we have a map from each statement to the expressions that are available upon entry to that statement.

For example,

a = b*c;

b = a*d;

c = b*c;

produces the key value pairs:

Key : a=b * c; Value : []

Key : b=a * d; Value : [b * c]

Key : c=b * c; Value : [a * d]