Java Reference
In-Depth Information
b = 15
d = 127
w = 3
1
2
3
q = w
a = b
4
5
6
w = a
7
b = a d
8
Figure 14.57: Another instance of the number of bits problem.
Lemma 14.25 e
ectively states that the result computed by iterative analysis
(
f
(
a
∧
b
)) can be no better than what would actually occur when the program
takes either path (
f
(
a
)
ff
∧
f
(
b
)).
For some data flow problems, we are fortunate in that we can strengthen
Lemma 14.25 to obtain the following:
Definition 14.26
A data flow framework
D=
(
G
eg
,
L
,F
)
is
distributive
i
ff
(
∀
f
∈F
)(
∀
a
,
b
∈
A
)
f
(
a
∧
b
)
=
f
(
a
)
∧
f
(
b
)
For such frameworks, the meet operator (
) loses no information, and we
obtain the best solution possible, assuming that any path through the program
∧