Beyond simple imperative language: dynamic allocation and procedures
(Review of FOL results, a comment on Complete Recursive Axiomatizations from last lecture.)
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.
Modeling Objects and References
Insertion into Doubly-Linked List
Language with Dynamic Allocation
Semantics of Dynamic Object Allocation
Semantics of Field Reads and Writes