Module 06-28206 (2019)
Computer-Aided Verification (Extended)
Level 4/M
Vincent Rahli | Semester 2 | 10 credits |
Outline
The module introduces techniques and tools for automatically verifying that computer systems behave as intended, in terms of correctness and reliability. The module covers: reactive systems and their models; temporal logic; model checking and algorithms; quantitative model checking; the state explosion problem and approaches to addressing it; examples of systems (e.g., concurrent programs, communication protocols, embedded systems). The module will cover both the theory and algorithms underlying these verification techniques and give a practical introduction to using verification tools.
Aims
The aims of this module are to:
- introduce the basic ideas of automatic verification;
- familiarise the student with key techniques and algorithms for verification;
- illustrate some of the uses and applications of automatic verification;
- give practical experience in using state of the art verification software;
- provide a foundation for further study in the area of formal verification.
Learning Outcomes
On successful completion of this module, the student should be able to:
- use appropriate tools to verify, analyse and debug small-scale systems
- understand and explain the principles and algorithms behind those tools
- explain the application of the tools to the examples introduced
- appreciate the limitations of current techniques and tools, such as the state explosion problem, and current efforts to overcome them
Restrictions
06-05934 (Models of Computation), A-Level Maths (Or Equivalent)
May not be taken by students who have already completed or are currently registered for LH non-extended version
Taught with
- 06-28201 - Computer-Aided Verification
Teaching methods
2 hr/week lectures, 1 hr/week tutorial
Contact Hours:
34
Assessment
Sessional: 1.5 hr examination (80%), continuous assessment (20%)
Supplementary (where allowed): 1.5 hr examination only
Detailed Syllabus
Not applicable
Programmes containing this module
- MEng Computer Science/Software Engineering [4754]
- MEng Computer Science/Software Engineering with an Industrial Year [9501]
- MSc Advanced Computer Science [0014]
- MSc Cyber Security [504B]
- MSc Robotics [9889]
- MSci Computer Science [4443]
- MSci Computer Science with an Industrial Year [9509]
- MSci Computer Science with Study Abroad [5576]
- MSci Mathematics and Computer Science [5197]
- MSci Mathematics and Computer Science with an Industrial Year [9496]