Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
sav07_lecture_7 [2007/04/18 02:57] philippe.suter |
sav07_lecture_7 [2007/04/18 03:00] philippe.suter |
||
---|---|---|---|
Line 119: | Line 119: | ||
The fact that we only used conjunctions is our analysis makes it **path-insensitive**. Intuitively, since we're only taking conjunctions, our normalization is too conservative and we will not be able to retain properties associated to certain paths. **Path-sensitivity** is often used as a measure of the precision of an analysis. | The fact that we only used conjunctions is our analysis makes it **path-insensitive**. Intuitively, since we're only taking conjunctions, our normalization is too conservative and we will not be able to retain properties associated to certain paths. **Path-sensitivity** is often used as a measure of the precision of an analysis. | ||
+ | |||
+ | |||
Line 126: | Line 128: | ||
(an example of Dependent Attribute Analysis) | (an example of Dependent Attribute Analysis) | ||
- | As we just saw, our analysis domain turned out to be too restricted. We may want to use a more extended one. Let's define a new set of formulas: | + | As we just saw, our analysis domain turned out to be too restrictive. We may want to use a more extended one. Let's define a new set of formulas: |
$A^+ = \{ \bigvee (P_{i1} \wedge ... \wedge P_{in}) | P_{ij} \in \{Q_1, ..., Q_n\}) \}$ | $A^+ = \{ \bigvee (P_{i1} \wedge ... \wedge P_{in}) | P_{ij} \in \{Q_1, ..., Q_n\}) \}$ | ||
Line 136: | Line 138: | ||
$(x > 0 \wedge y \leq 0) \vee (x \leq 0 \wedge y = 0)$ | $(x > 0 \wedge y \leq 0) \vee (x \leq 0 \wedge y = 0)$ | ||
- | ...from which the conclusion would be that $y \leq 0$ always holds. (Note that this is informal and was not done in class.) | + | ...where the first part represents the conclusions which can be made if the branches $x > 0$ were taken and the second the ones when they weren't. From there we'd find that $y \leq 0$ always holds. (Note that this is informal and was not done in class.) |
The normalization function now looks like: | The normalization function now looks like: |