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 that is also open to graduate students. Naturally some of the material are state-of-the-art research results, rather than usual undergraduate textbook material. You should be prepared to engage deeply.
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
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 π»
- 09/09: Optimisation
- 09/14: Search-Based Test Data Generation
- 09/16: Hands-on
- 09/21: Evolutionary Computation & Genetic Programming
- 09/23: Symbolic Regression Hands-on π»
- 09/28: Mutation Testing
- 09/30: Property Based Testing π» (Assignment 1 Due)
- 10/05: Public Holiday
- 10/07: [Classification & Clustering][candc]
- 10/12: ASE 2026: No Lecture
- 10/14: ASE 2026: No Lecture (Assignment 2 Due)
- 10/19: Midterm Week
- 10/22: Midterm Exam / 09:00AM-10:30AM / E3-1 1101
- 10/26: Testing Machine Learning Systems
- 10/28: [Defect Prediction & Fault Localisation 1][dpfl]
- 11/02: [Defect Prediction & Fault Localisation 2][dpfl]
- 11/04: [Mining Repositories][msr]
- 11/09: Automated Program Repair
- 11/11: Untestable Programs and Metamorphic Testing
- 11/16: [LLMs][llms] (Assignment 3 Due)
- 11/18: No Lecture
- 11/23: Agents
- 11/25: [Testing LLMs & Agents][testingagents]
- 11/30: [GUI Testing][gui]
- 12/02: [Analysing Latent Space][latent]
- 12/07: Guest Lecture - Dr. Sungmin Kang / NUS
- 12/09: [No Free Lunch Theorem][nfl] (Assignment 4 Due)
- 12/14: Finals Week
- 12/16: Final Exam / 09:00AM-10:30AM / E3-1 1101
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.