Module overview
This module aims to train students in both the principles and the practice of software verification. A range of verification approaches, including both testing and formal verification, will be covered. The use of logic as a specification language for programs will be explored. In addition to covering the key techniques for software verification, the module will provide practical experience in using state of the art verification tools.