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
sav08:lecture13 [2008/04/08 23:11]
vkuncak
sav08:lecture13 [2008/04/09 18:58]
vkuncak
Line 3: Line 3:
 (Review of FOL results, a comment on [[Complete Recursive Axiomatizations]] from [[lecture12|last lecture]].) (Review of FOL results, a comment on [[Complete Recursive Axiomatizations]] from [[lecture12|last lecture]].)
  
-Goal of lecture: how to verify linked data structures ​using FOL.+Today we  
 +  * use FOL to verify linked data structures 
 +  * show how to specify and verify programs with procedures
  
 Review [[Forward Symbolic Execution]] and note that the rules apply for any variable type, not just integers. Review [[Forward Symbolic Execution]] and note that the rules apply for any variable type, not just integers.
Line 12: Line 14:
  
 [[Insertion into Doubly-Linked List]] [[Insertion into Doubly-Linked List]]
- 
-We show how to generate verification conditions in FOL, so we can verify such programs using FOL. 
  
 [[Program Memory as Graph]] [[Program Memory as Graph]]
Line 29: Line 29:
 [[Proving Programs with Dynamic Allocation]] [[Proving Programs with Dynamic Allocation]]
  
-===== Procedure Calls =====+===== Procedures ​=====
  
 [[Language with Specified Procedures]] [[Language with Specified Procedures]]
  
-[[Assume Guarantee Reasoning with Procedures]] +[[Relational Semantics ​of Procedures]]
- +
-[[Correctness ​of A/G Reasoning]] +
- +
-[[Frame Conditions]] +
- +
-[[Simple Module Invariants]]+