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
Last revision Both sides next revision
sav07_lecture_9 [2007/04/19 11:20]
vkuncak
sav07_lecture_9 [2007/05/11 17:25]
ghid.maatouk
Line 32: Line 32:
 \end{equation*} \end{equation*}
 where $a^1,​\ldots,​a^n$ are variables ranging over a lattice $A$ (one for each control-flow graph node), and $f_k$ are monotonic functions on $A$ (one for each edge in the control-flow graph). where $a^1,​\ldots,​a^n$ are variables ranging over a lattice $A$ (one for each control-flow graph node), and $f_k$ are monotonic functions on $A$ (one for each edge in the control-flow graph).
 +
  
  
Line 80: Line 81:
   * [[http://​www.di.ens.fr/​~cousot/​COUSOTpapers/​POPL77.shtml|Abstract interpretation]]   * [[http://​www.di.ens.fr/​~cousot/​COUSOTpapers/​POPL77.shtml|Abstract interpretation]]
   * [[http://​www.di.ens.fr/​~cousot/​COUSOTpapers/​POPL79.shtml|Systematic Design of Program Analysis Frameworks]]   * [[http://​www.di.ens.fr/​~cousot/​COUSOTpapers/​POPL79.shtml|Systematic Design of Program Analysis Frameworks]]
 +
 +===Tarski'​s Fixpoint Theorem===
  
 === Widening === === Widening ===
Line 104: Line 107:
 === Narrowing === === Narrowing ===
  
-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 ​operator $G$ and improve the precision of the results
 + 
 +If this is too slow, we can stop at any point or use a narrowing operator, the result is sound. 
 + 
 +Instead of using the fixpoint operator $G$, we can use any operator that leaves our current value above fixpoint.
  
-If this is too slowwe can stop at any point or use a narrowing operator.+See Combination of Abstractions in ASTREESection 8.1, define $\Delta$ such that $\gamma(a) \cap \gamma(b) \subseteq \gamma(a \Delta b)$ 
 +  * example: take $\sqcap$ as $\Delta$, or even some improved version
  
 === Reduced product === === Reduced product ===