Kies de Nederlandse taal
Course module: 201500039
Security Verification
Course info
Course module201500039
Credits (ECTS)5
Course typeCourse
Language of instructionEnglish
Contact personprof.dr. M. Huisman
prof.dr. M. Huisman
Contactperson for the course
prof.dr. M. Huisman
prof.dr. J.C. van de Pol
Academic year2017
Starting block
Application procedureYou apply via OSIRIS Student
Registration using OSIRISYes
Learning goals
The student will acquire:
  • A good understanding of how formal verification techniques can be used to detect security vulnerabilities in software
  • Practical experience with applying formal specification techniques to realistic software to detect security vulnerabilities.
Motivation: Many security problems in software systems can be detected by using formal verification techniques in an adequate way. In this course, the students experience this in a hands-on setting: in the form of an individual project, they use a suitable formal verification technique to analyse the
security of a software system.

Synopsis: This course is done in the form of an individual project. In the prerequisite courses, the students have obtained knowledge about possible security threats for software systems, and how formal techniques can be used to specify and verify the behaviour of a software system. In this
course, they combine this knowledge in a concrete case study.
The student agrees with the supervisor on a suitable software system to be analysed. Possible security threats are identified, and the student then studies the literature how formal verification techniques have been used to detect the identified security threats. Based on this literature study, a
suitable verification approach is identified.
The student then uses the formal verification technique to identify whether the system indeed suffers from security issues. If appropriate, a fix is proposed, and the student uses the formal verification technique to show that the security issue has been properly addressed.
Assumed previous knowledge
Mandatory: Software Security, System Validation
knowledge of first-order logic, basics of program specifications (pre- and postconditions)
Required materials
Recommended materials
Instructional modes
Project supervised

Individual project

individual homework assignment

Kies de Nederlandse taal