¹û¶³Ó°Ôº

XClose

¹û¶³Ó°Ôº Module Catalogue

Home
Menu

Practical Program Analysis (COMP0174)

Key information

Faculty
Faculty of Engineering Sciences
Teaching department
Computer Science
Credit value
15
Restrictions
Module delivery for UG Masters (FHEQ Level 7) available on MEng Computer Science; MEng Mathematical Computation. Module delivery for PGT (FHEQ Level 7) available on MSc Software Systems Engineering; MSc Information Security.
Timetable

Alternative credit options

There are no alternative credit options available for this module.

Description

Aims:

Program analysis is widely used in industry to ensure software quality and security on various stages of software development process. This module covers both theoretical and practical aspects of modern program analysis. First, the module introduces static program analysis techniques such as data flow analysis and abstract interpretation. Second, the module demonstrates dynamic analysis techniques such as taint analysis and race detection. Third, the module shows how these techniques are used in practice to ensure software quality and security. Finally, the module discusses the implementation of program analysis techniques.Ìý

Intended learning outcomes:

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

  1. Rigorously reason about software properties.Ìý
  2. Choose appropriate program analysis techniques in different stages and contexts of software development. Ìý
  3. Apply modern program analysis tools to real-world software and correctly interpret their output. Ìý
  4. Implement custom program analysis tools.Ìý

Indicative content:

The following are indicative of the topics the module will typically cover:

  • Introduction to program analysis.
  • Pattern-based analysis.
  • Lattice theory.
  • Data-flow analysis:
    • Constant propagation.
    • Live variables.
    • Reaching definitions.
  • Abstract Interpretation.
  • Dynamic analysis:
    • Dynamic race detection.
    • Buffer overflow detection.
    • Dynamic taint analysis.
    • Application of dynamic analysis (fuzz testing, web security).
  • Program analysis in practice.

Requisites:

To be eligible to select this module as an optional or elective, a student must be registered on a programme and year of study for which it is a formally available.

Module deliveries for 2024/25 academic year

Intended teaching term: Term 2 ÌýÌýÌý Undergraduate (FHEQ Level 7)

Teaching and assessment

Mode of study
In person
Methods of assessment
50% Other form of assessment
50% Coursework
Mark scheme
Numeric Marks

Other information

Number of students on module in previous year
10
Module leader
Dr Sergey Mechtaev
Who to contact for more information
cs.pgt-students@ucl.ac.uk

Intended teaching term: Term 2 ÌýÌýÌý Postgraduate (FHEQ Level 7)

Teaching and assessment

Mode of study
In person
Methods of assessment
50% Other form of assessment
50% Coursework
Mark scheme
Numeric Marks

Other information

Number of students on module in previous year
33
Module leader
Dr Sergey Mechtaev
Who to contact for more information
cs.pgt-students@ucl.ac.uk

Last updated

This module description was last updated on 8th April 2024.

Ìý