Current students

COMP0103 Validation and Verification

This database contains the 2018-19 versions of syllabuses.

Note: Whilst every effort is made to keep the syllabus and assessment records correct, the precise details must be checked with the lecturer(s).

Academic session

2018-19

Module

Validation and Verification

Code

COMP0103

Module delivery

1819/A7U/T2/COMP0103 Masters (MEng)

Related deliveries

1819/A7P/T2/COMP0103 Postgraduate

Prior deliveries

COMPM023

Level

Masters (MEng)

FHEQ Level

L7

FHEQ credits

15

Term/s

Term 2

Module leader

Barr, Earl

Contributors

Barr, Earl

Sarro, Federica

Module administrator

Ball, Louisa

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.

Learning outcomes

On successful completion of the module, a student will be able to:

  1. understand correctness, consistency, faults and failures, static analysis and testing;
  2. understand the use of logic as a formal language for the specification of systems;
  3. understand the use of symbolic execution;
  4. verify simple systems;
  5. understand the range of approaches to testing that can be applied to software systems;
  6. undertake both black-box and white-box (unit-level) testing;
  7. appreciate the limitations of the current tools and have insights in ongoing research topics to overcome them.

Availability and prerequisites

This module delivery is available for selection on the below-listed programmes. The relevant programme structure will specify whether the module is core, optional, or elective.

In order to be eligible to select this module as optional or elective, where available, students must meet all prerequisite conditions to the satisfaction of the module leader. Places for students taking the module as optional or elective are limited and will be allocated according to the department’s module selection policy.

Programmes on which available:

  • MEng Computer Science (International Programme) (Year 4)
  • MEng Computer Science (Year 4)
  • MEng Mathematical Computation (International Programme) (Year 4)
  • MEng Mathematical Computation (Year 4)

Prerequisites:

In order to be eligible to select this module, students must have:

  • passed BSc/ MEng Computer Science (Years 1 and 2) at UCL; or
  • passed MEng Mathematical Computation (Years 1 and 2) at UCL

Content

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 and research papers.

An indicative reading list is available via http://readinglists.ucl.ac.uk/departments/comps_eng.html.

Delivery

The module is delivered through a combination of lectures, tutorials, and coursework.

Assessment

This module delivery is assessed as below:

#

Title

Weight (%)

Notes

1

Written Examination

80

 

2

Coursework 1

10

 

3

Coursework 2

10

 

In order to pass this Module Delivery, students must:

  • achieve an overall weighted Module mark of at least 50.00%;

AND, when taken as part of MEng Computer Science and MEng Mathematical Computation:

  • achieve a mark of at least 40.00% in any Components of assessment weighed ≥ 30% of the module.

Where a Component comprises multiple Assessment Tasks, the minimum mark applies to the overall component.