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:59] philippe.suter |
sav07_lecture_7 [2007/04/18 03:01] 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 127: | 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 157: | Line 158: | ||
* [[predicate abstraction]] (Cartesian abstraction) | * [[predicate abstraction]] (Cartesian abstraction) | ||
* [[http://research.microsoft.com/esp/pubs/esp-dataflow.pdf|ESP paper]] | * [[http://research.microsoft.com/esp/pubs/esp-dataflow.pdf|ESP paper]] | ||
+ | |||
==== Linear inequalities ==== | ==== Linear inequalities ==== | ||
+ | |||
+ | (section not covered in class) | ||
Example implementation: [[http://www.cs.unipr.it/ppl/|Parma Polyhedra Library]] and a [[http://www.cs.unipr.it/ppl/Documentation/BagnaraHZ06TR.pdf|paper about Parma]]. Geometric interpretation of linear equations. | Example implementation: [[http://www.cs.unipr.it/ppl/|Parma Polyhedra Library]] and a [[http://www.cs.unipr.it/ppl/Documentation/BagnaraHZ06TR.pdf|paper about Parma]]. Geometric interpretation of linear equations. |