Part 2 (Week 08 -- Week 14)
The slides for the second part of the course are available online:Lectures
- Lecture 1, 05/11, Software Specification: Towards Dependable Systems
- Lecture 2, 07/11, Formal Reasoning with Hoare Logic
- Lecture 3, 12/11, Formal Reasoning with Hoare Logic (Decorated Programs + Exercises)
- Lecture 4, 14/11, Formal Reasoning with Hoare Logic (Forward/Backward Reasoning + Program Calculation)
- Lecture 5, 19/11, Mechanising Formal Verification
- VCGen-Hs.zip: Haskell code for mini VCGen
- Lecture 6, 21/11, Introduction to Dafny
- L6_complete.dfy: Dafny code used/demonstrated in the lecture
- L6_complete.dfy: Dafny code used/demonstrated in the lecture
- Lecture 7, 26/11, Introduction to Dafny (cont.)
- L7_complete.dfy: Dafny code used/demonstrated in the lecture
- L7_complete.dfy: Dafny code used/demonstrated in the lecture
- Lecture 8, 28/11, Dafny: Algebraic Datatypes, Lemmas and Calculations
- L8_complete.dfy: Dafny code used/demonstrated in the lecture
- L8_complete.dfy: Dafny code used/demonstrated in the lecture
- Lecture 9, 03/12, Structural Induction. Linking Dafny and C#
- L9.zip: Dafny code used/demonstrated in the lecture
- Lecture 10, 05/12, Classes, Class Invariants, and Dynamic Frames
- Lecture 11, 10/12, Dynamic Frames and Separation Logic
- Lecture 12, 12/12, Separation Logic (cont.)
- Lecture 13, 17/12, Revision / Consolidation
- Lecture 14, 19/12, Invited Lecture by José Fragoso
Labs
- See the section Lab exercises
Part 1 (Week 01 -- Week 07)
See attachments below.
Attachments
- T0-ES-Introduction.pdf
- T1-ES-Formal Methods.pdf
- T2-ES-Set Theory.pdf
- TA1-ES-Intro To Alloy.pdf
- TA2-ES-Logic-Alloy.pdf
- TA3-ES-Language-Alloy.pdf
- TA4-ES-Module-Alloy.pdf
- TA5-ES-Dynamic-Systems-Alloy.pdf
- TA6-ES-Dynamic-Systems2-Alloy.pdf
- TA8-ES-Analysis-Alloy.pdf
- TA9-ES-Example-Rover-Alloy.pdf
- VCGen-Hs.zip
- L6.dfy
- L7.dfy
- L9.zip
- L8_complete.dfy
- L7_complete.dfy
- L6_complete.dfy
- Collections.dfy
- Counter.dfy
- Tree.dfy
- StackOdd.dfy
- Counter_complete.dfy
- StackOdd_complete.dfy
- Tree_complete.dfy