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
- Shin Yoo shin.yoo@kaist.ac.kr
- Office: E3-5 Room 305
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.
- 08/31: Introduction
- 09/02: No Lecture
- 09/07: [Metaprogramming 101 for Python (Tutorial)][metaprogramming]
- 09/09: Optimisation
- 09/14: Search-Based Test Data Generation
- 09/16: Hands-on
- 09/21: Genetic Programming & Symbolic Regression
- 09/23: Hands-on
- 09/28: Mutation Testing
- 09/30: Property Based Testing
- 10/05: Public Holiday
- 10/07: Classification & Clustering
- 10/12: ASE 2026: No Lecture
- 10/14: ASE 2026: No Lecture
- 10/19: Midterm Week
- 10/22: Midterm Week
- 10/26: Defect Prediction & Fault Localisation 1
- 10/28: Defect Prediction & Fault Localisation 2
- 11/02: Mining Repositories
- 11/04: Automated Program Repair
- 11/09: Untestable Programs and Metamorphic Testing
- 11/11: Testing Machine Learning Systems
- 11/16: Generative Models for Testing
- 11/18: No Lecture
- 11/23: LLMs & Agents
- 11/25: Testing LLMs & Agents
- 11/30: Analysing Latent Space
- 12/02:
- 12/07: Guest Lecture - Dr. Sungmin Kang / NUS
- 12/09: No Free Lunch Theorem
- 12/14: Finals Week
- 12/16: Finals Week
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.