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 | ||
sav08:chaotic_iteration_in_abstract_interpretation [2008/05/20 13:18] vkuncak |
sav08:chaotic_iteration_in_abstract_interpretation [2008/05/20 18:50] vkuncak |
||
---|---|---|---|
Line 34: | Line 34: | ||
\end{array} | \end{array} | ||
\] | \] | ||
- | here we require that the new value $H_i(g^k_1,\ldots,g^k_n)$ differs from the old one $g^k_i$, otherwise we select a different one. | + | here we require that the new value $H_i(g^k_1,\ldots,g^k_n)$ differs from the old one $g^k_i$. An iteration where at each step we select some equation $i$ (arbitrarily) is called //chaotic iteration//. It is abstract representation of different iteration strategies. |
- | Then we pick a different $i$, as long as the result changes. This is //chaotic iteration//. | + | |
Questions: | Questions: | ||
Line 51: | Line 50: | ||
Compare values $I$, $L_1$, $C_1$, $I_n$, $C_n$ in the lattice | Compare values $I$, $L_1$, $C_1$, $I_n$, $C_n$ in the lattice | ||
- | * in general | + | * in general ++|$C_1 \sqsubseteq L_1$, generally $C_i \sqsubseteq L_i$ ++ |
- | * when selecting equations by fixed permutation | + | * when selecting equations by fixed permutation ++| $L_1 \sqsubseteq C_n$, generally $L_i \sqsubseteq C_{ni}$ ++ |
==== Worklist Algorithm and Iteration Strategies ==== | ==== Worklist Algorithm and Iteration Strategies ==== | ||
Line 73: | Line 72: | ||
Strongly connected component (SCC) of a directed graph: path between each two nodes of component. | Strongly connected component (SCC) of a directed graph: path between each two nodes of component. | ||
* compute until fixpoint within each SCC | * compute until fixpoint within each SCC | ||
+ | |||
+ | If we generate control-flow graph from our simple language, what do strongly connected components correspond to? | ||
===== References ===== | ===== References ===== |