Quality assurance – Catching bugs by formal verification

The aim of the course is to introduce the participants into methods and tools for verifying systems that need to react to external stimuli. The methods use system models with precise formal semantics and will span model-checking as well as deductive verification. A set of simple examples as well as real-world applications will be used throughout the course to illustrate the methods and their tool support. The objective of the course is to understand the underpinning theories of formal verification, and learn how to apply tool support in order to verify system models.

About the course

This course consists of lectures and assignments that will teach the participants the basics of formal verification, differences between techniques, as well as their potential applicability to real-world systems.
The course will cover both discrete as well as timed systems, and will show the application of techniques on some prototype examples from industry.

Course modules:
  • Basic concepts of formal modeling: automata models, formalisation of system properties
  • Automated verification of formal models: model-checking, deductive verification
  • Application of tools to formal models and code

Learning outcomes

At the end of the course any participant should be able to:

  • Understand the differences between algorithmic and deductive verification
  • Formalise requirements in temporal logic or predicate logic
  • Model functional and timing behavior of reactive systems
  • Apply formal verification tools (such as UPPAAL and variants) to check properties of models

Related Industrial Challenges Addressed in the Course

  • Uncover at early design stages potential trouble-spots/errors in design
  • Provide design-space exploration automated support
  • Increase assurance of future implementations

Course Syllabus

For Course Syllabus use course code DVA468 in the  search field

Teacher

Cristina Seceleanu

+46 21 15 17 64

cristina.seceleanu@mdh.se

Prompt

The course is included in the Prompt project, which is partly funded by the Knowledge Foundation. You can find more information about Prompt here .