By projecting a problem onto the variables corresponding to symbolic
constants that can not be determined at compile-time, Omega test can
produces a predicate that would allow it to determine at run-time if a
particular dependence or dependence direction exits.
Omega test is used to obtain an accurate summary of the locations of
an array that might be affected by a single assignment statement.
Omega test can be used to determine appropriate loop bounds when
interchanging loops [1,3].