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_3_skeleton [2007/03/21 10:45] vkuncak |
sav07_lecture_3_skeleton [2007/03/21 10:53] vkuncak |
||
---|---|---|---|
Line 102: | Line 102: | ||
This idea is important in static analysis. | This idea is important in static analysis. | ||
+ | |||
+ | |||
Line 108: | Line 110: | ||
==== Symbolic execution ==== | ==== Symbolic execution ==== | ||
- | Symbolic execution converts programs into formulas by going forward. It is therefore somewhat analogous to the way an [[interpreter]] for the language would work. It is based on the notion of strongest postcondition. | + | Symbolic execution converts programs into formulas by going forward. It is therefore somewhat analogous to the way an [[interpreter]] for the language would work. |
+ | |||
+ | |||
+ | Strongest postcondition: | ||
\begin{equation*} | \begin{equation*} | ||
sp(P,r) = \{ s_2 \mid \exists s_1.\ s_1 \in P \land (s_1,s_2) \in r \} | sp(P,r) = \{ s_2 \mid \exists s_1.\ s_1 \in P \land (s_1,s_2) \in r \} | ||
\end{equation*} | \end{equation*} | ||
+ | Like composition of a set with a relation. It's called ''relational image'' of set $P$ under relation $r$. | ||
+ | |||
+ | Note: when proving our verification condition, instead of proving that semantics of relation implies error=false, it's same as proving that the formula for set sp(U,r) implies error=false, where U is the universal relation. | ||
==== Weakest preconditions ==== | ==== Weakest preconditions ==== |