Description
Aims:
This module will introduce students to search-based and other artificial intelligence methods, like large language models, which are used to automate software engineering tasks, such as software testing, program repair, or code completion. This module presents automated software testing and code maintenance work that has been developed by UCL’s Software System Engineering group that led to industrial uptake. This module offers the students an opportunity to apply such techniques on real-world software.
Intended learning outcomes:
On successful completion of the module, a student will be able to:
- Demonstrate knowledge and awareness of techniques that automate software engineering tasks.
- Describe how search-based software engineering techniques can be applied in practice.
- Identify and formulate problems using automated software engineering techniques presented in this module.
- Apply automated software engineering techniques in practice.
- Describe and critically evaluate current research directions in automated software engineering.
Indicative content:
The following are indicative of the topics the module will typically cover:
- Search-based software engineering.
- Artificial Intelligence for software engineering.
- Automated software testing.
- Automated program repair.
- Automated code completion
Requisites:
To be eligible to select this module as optional or elective, a student must: (1) be registered on a programme and year of study for which it is formally available; and (2) have good programming skills in Python and/ or Java.
No previous knowledge of automated software engineering techniques is assumed.
Module deliveries for 2024/25 academic year
Last updated
This module description was last updated on 19th August 2024.
Ìý