VALIDATION|VERIFICATION|SOFTWARE ENGINEERING|CORRECTNESS|BLACK BOX TESTING|WHITE BOX TESTING|

Aims:

The module will train students in the principles and techniques of validating and verifying software systems. The training will be intellectually...

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:

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.
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, 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 UCL.