[go: up one dir, main page]

Skip to content
/ fvoca2223 Public template

Web page hosting the pedagocical material prepared in the scope of the FVOCA class of the MESCC MSc

Notifications You must be signed in to change notification settings

cister-labs/fvoca2223

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FVOCA - Formal Verification of Critical Applications

Course structure

This course teaches the main principles of Formal Verification of Software, with specific focus on applications that can be characterized as being critical computing applications.

  1. Mathematical Foundations
  • Preliminaries:
    • Set Theory
    • Transition Systems
  • Propositional and First-Order logics:
    • Syntax and Semantics
    • Natural Deduction
    • Automated Theorem Proving (SAT & SMT solving)
  1. Program Semantics
  • Small Step and Big Step Operational Semantics
  • Hoare Logic's axiomatic semantics
  1. Reasoning over Programs
  • SAT and SMT solvers
  • Automatic theorem proving using Z3
  • Introduction to Interactive theorem proving using Coq

Material

Slides

Exercises and Assignments

Pragmatics

Evaluation

  • Final mark = Project (60%) + Exam (40%)

The project will be performed in groups of 2 students, addressing the practical aspects involving model checking and theorem proving, and will include some homework exercises. The exam will evaluate the student’s knowledge on the theoretical aspects.

Deadlines

Homework consists of a PDF report that must be submitted until Sunday @ 23:59 of the following week of being shown during lessons. For example, all exercises presented in the slides used in the week 8 Nov - 12 Nov must be submitted until Sunday 21 Nov. Assignments have specific deadlines, mentioned on their instructions. The deadlines are summarised below, and may still suffer changes.

Lecturers

We will use a team in Microsoft Teams where all questions regarding this course unit should be placed, and where we can schedule virtual meetings if needed.