Software reliability methods are now past the stage of "promising
curiosities" and offer techniques and tools that can be employed in
a variety of application domains to verify required functional
properties against models of system behaviour.
This module covers some of these techniques and tools, namely those
which, like SPIN, are based on model-checking. It introduces
students to languages for modelling systems and their properties,
some of the algorithms that can be employed for automatic
verification, and the limitations of current implementations.