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:lecture04 [2008/03/02 22:33] vkuncak |
sav08:lecture04 [2008/03/02 22:55] vkuncak |
||
---|---|---|---|
Line 22: | Line 22: | ||
[[Assert and Error Conditions]] | [[Assert and Error Conditions]] | ||
- | |||
- | We next discuss a particular approach for generating verification conditions that admits simpler loop invariants. | ||
- | |||
- | [[ESC/Java Loop Desugaring]] | ||
[[Practical Aspects of VCG]] | [[Practical Aspects of VCG]] | ||
- | === Further reading === | ||
- | |||
- | * [[Calculus of Computation Textbook]], Chapter 5 (Program Correctness: Mechanics) | ||
- | |||
- | ==== Annotations in Control-Flow Graphs ==== | ||
- | |||
- | * [[http://research.microsoft.com/~leino/papers/krml157.pdf|Weakest preconditions for unstructured programs]] | ||
- | |||
- | ==== Loop Unrolling ==== | ||
- | |||
- | |||
- | ===== Size of verification conditions ===== | ||
- | * one-point rule for equality | ||
- | * introducing fresh names for branches | ||
- | * general-purpose simplifications | ||
- | * concolic testing idea | ||
- | |||
- | * [[http://doi.acm.org/10.1145/360204.360220|Avoiding exponential explosion: generating compact verification conditions]] | ||
- | * [[http://www.cs.utexas.edu/users/sandip/publications/symbolic-lpar/main.html|Verification Condition Generation via Theorem Proving]] | ||
- | * [[http://osl.cs.uiuc.edu/~ksen/cute/|CUTE Tool]] | ||
- | |||
- | ===== Havoc and ESC/Java Loop Transformation ===== | ||
- | |||
- | [[:sav07_lecture_4#more_on_wp|Notes on wp from last year]] |