CS454 AI Based Software Engineering (Autumn 2026)

Syllabus

CS454 has been largely revamped for Autumn 2026: it now incorporates much of the former CS453 Automated Software Testing, while downplaying the previous emphasis on the use of metaheuristic optimisation. Instead, we now engage more closely with generative models and agents-based techniques/workflows. I would like to heavily emphasise that 1) these are very much moving targets, and 2) this course is an advanced module for both undergraduates and graduate students. My expectation is that you are prepared to explore this new ground on your own!

Lectures

  • Time: 10:30-11:45, Mondays and Wednesdays
  • Location: E3-1 Room 1101

Communication

On the course Slack (invitation link has been distributed - contact the lecturer if you joined late and do not have it).

Lecturer

Teaching Assistant

  • TBA

Use of Generative AI

Use it at your own discretion. Given the nature of the course, I do not intend to block the use of agents and LLMs entirely. However, do remember that you outsource your thinking process at your own risk. Also, the written exams (mid-term and final) may ask questions about your assignments.

Evaluation

  • Mid-term: 30%
  • Final: 30%
  • Coursework: 40%

Lectures

The schedule below is still tentative for now and may change, given that we do not know the exact class size yet.

Assignments will be made available as we go along.

Assignment #1: Search Based Test Data Generation

You will implement a search-based test data generation tool for a subset of Python, using local search algorithms as the base optimizer. This assignment accounts for 10% of the course. Details will be made available later.

Assignment #2: Evolving Spectrum Based Fault Localisation Techniques

You will implement a basic GP system in order to evolve an SBFL formula, an automated debugging technique used for fault localization. This assignment accounts for 10% of the course. Details will be made available later.

Assignment #3: Evolutionary Fuzzing of DNNs

You will implement a GA based DNN fuzzer, so that the generated inputs will trick an existing image classifier. This assignment accounts for 10% of the course. Details will be made available later.

Assignment #4: LLM-Based Agents for Repository Understanding

You will implement an LLM driven agent that can answer questions about a given software repository. LLM credits will be allocated for this assignment. This assignment accounts for 10% of the course. Details will be made available later.