Software Verification and Applications2022HT
|
|
Course plan
The course is an introduction to the theory and practice of software
verification.
Intended learning outcomes:
After completion of the course, students will be able to:
* Demonstrate knowledge about the principals behind software
verification approaches including Model Checking, Abstract
Interpretation, Hoare-style reasoning and Satisfiability modulo
theory.
* Discuss applications of verification techniques to classical and new
areas: check correctness (safety and liveness), security (buffer
overflow or cache based side channel attacks), or properties of
neural networks, such as stability.
* Use verification techniques to analyze and verify computer programs.
* Describe advantages, limitations and research challenges of software
verification.
Teaching and working methods:
Lectures and tutorials (approx. 24 hours). Exam 2p.
Seminars with paper presentation by students. 1p.
Individual laboratory work. 3p.
Literature:
Relevant book chapters and research articles.
Page responsible: Anne Moe