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
Next revision Both sides next revision
sav07_lecture_9 [2007/04/19 11:13]
vkuncak
sav07_lecture_9 [2007/04/19 11:20]
vkuncak
Line 105: Line 105:
  
 Once we have reached above the fixpoint (using widening or anything else), we can always apply the fixpoint transformer and improve the precision of the results. Once we have reached above the fixpoint (using widening or anything else), we can always apply the fixpoint transformer and improve the precision of the results.
 +
 +If this is too slow, we can stop at any point or use a narrowing operator.
  
 === Reduced product === === Reduced product ===
Line 115: Line 117:
  
 Reduced product: [[http://​www.di.ens.fr/​~cousot/​COUSOTpapers/​POPL79.shtml|Systematic Design of Program Analysis Frameworks]],​ Section 10.1. Reduced product: [[http://​www.di.ens.fr/​~cousot/​COUSOTpapers/​POPL79.shtml|Systematic Design of Program Analysis Frameworks]],​ Section 10.1.
 +
 +Key point: define $\sigma : A_1 \times A_2 \to A_1 \times A_2$ by
 +\begin{equation*}
 +  \sigma(a_1,​a_2) = \sqcap \{ (a_1',​a_2'​) \mid \gamma(a_1'​) \cap \gamma(a_2'​) = \gamma(a_1) \cap \gamma(a_2) \}
 +\end{equation*}
 +The function $\sigma$ improves the precision of the element of the lattice without changing its meaning. ​ Subsequent computations with these values then give more precise results.