Description
Aims:
The module will train students in the principles and techniques of validating and verifying software systems. The training will be intellectually demanding and will cover not only the state-of-the practice in validation and verification, but also the most significant trends, problems and results in validation and verification research.
Intended learning outcomes:
On successful completion of the module, a student will be able to:
- Understand correctness, consistency, faults and failures, static analysis and testing
- Understand the use of logic as a formal language for the specification of systems.
- Understand the use of symbolic execution.
- Verify simple systems.
- Understand the range of approaches to testing that can be applied to software systems.
- Undertake both black-box and white-box (unit-level) testing.
- Appreciate the limitations of the current tools and have insights into ongoing research topics to overcome them.
Indicative content:
The following are indicative of the topics the module will typically cover:
Basic concepts:
- Software engineering lifecycle context.
- Correctness.
- Soundness and completeness.
- Faults.
- Errors.
- Failures.
- Static and dynamic analysis.
Validation:
- Kinds of testing (unit, functional, integration, system, acceptance, regression).
- Black box and White box testing.
- Input partitioning and Random Testing.
- Coverage and Structural Testing.
- Mutation Testing.
- Regression Testing.
Verification:
- Propositional and Predicate Logic.
- Specifying and verifying programs.
- Symbolic Execution.
- Hoare Logic.
Reading: Selected surveys, research papers, and book chapters.
Requisites:
To be eligible to select this module as an optional or elective, a student must: (1) be registered on a programme and year of study for which it is a formally available; and (2) have a background equivalent to Years 1 and 2 of BSc/ MEng Computer Science at 911±¬ÁÏÍø.
Module deliveries for 2024/25 academic year
Last updated
This module description was last updated on 19th August 2024.
Ìý