LARA

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
sav08:interval_analysis_and_widening [2008/05/20 19:58]
vkuncak
sav08:interval_analysis_and_widening [2009/01/21 14:53]
vkuncak
Line 41: Line 41:
  
 Approaches: Approaches:
-  * always ​widen+  * always ​apply widening (we will assume this)
   * iterate a few times with $H_i$ only (without using $w$), if not a fixpoint at this program point, then widen.   * iterate a few times with $H_i$ only (without using $w$), if not a fixpoint at this program point, then widen.
        * this is not monotonic: if you start at fixpoint, it converges, if start below, can jump over fixpoint        * this is not monotonic: if you start at fixpoint, it converges, if start below, can jump over fixpoint
Line 48: Line 48:
  
 Widening: $\bot, \ldots, ((W \circ F)^{\#​})^n(\bot),​ \ldots$ Widening: $\bot, \ldots, ((W \circ F)^{\#​})^n(\bot),​ \ldots$
 +
 +
 +Here, $x \sqsubseteq W(x)$ for all $x$ by definition of $W$
  
 Narrowing: after finding fixpoint of $(W \circ F)^{\#}$, apply $F^{\#}$ to improve precision. Narrowing: after finding fixpoint of $(W \circ F)^{\#}$, apply $F^{\#}$ to improve precision.
  
-Why will narrowing improve the result?+Observation:​ if $F^{\#}$ and $W$ are $\omega$-continuous functions and $x \sqsubseteq W(x)$ for all $x$, then narrowing ​will improve the result, that is, if $x_* = lfp (F^{\#})$ and $y_* = lfp (W \circ F^{\#})$, then $x_* \sqsubseteq y_*$ and 
 +\[ 
 +    x_* = F^{\#}(x_*) \sqsubseteq F^{\#}(y_*) \sqsubseteq (W \circ F^{\#​})(y_*) \sqsubseteq y_* 
 +\]