WARNING: PRELIMINARY INFORMATION (SUBJECT TO CHANGE)#

Make sure you have signed up for a tutorial through the new MyTimetable system. Assignment groups will be randomly allocated within your chosen tutorial. All labs are fully in person with no remote option available.


Week Tutorial Handout
1 No Tutorial: Sign up for tutorials! MyTimetable
2 Environment Setup & Unit Testing Introduction
- Tutorial roadmap + IntelliJ setup (~10 min)
- Unit testing concepts and demonstration (~15 min)
- Hands-on: write tests and view coverage (~20 min)
- Defects4J intro and download (if time) (~15 min)
Tutorial 1
3 Introduction to Automated Test Generation with EvoSuite
- Docker setup and file transfer (~15 min)
- EvoSuite introduction (~10 min)
- Run EvoSuite on a simple project (~25 min)
- Observe generated test structure and style (~10 min)
Tutorial 2
4 EvoSuite vs LLMs, LLM-Based Test Generation
- Unified response to A1 + A2 explanation (~15 min)
- EvoSuite vs LLMs comparison (~15 min)
- AI for test generation (hands-on) (~30 min)
Tutorial 3
5 Code Instrumentation, SootUp
- Code Instrumentation (~15 min)
- Maven + SootUp setup (~25 min)
- SootUp basics: view, class, method, CFG (~20 min)
Tutorial 4
6 Use SootUp to Automatically Extract Code Information
- FQN, method signature, and Jimple definitions (~10 min)
- Extract Three Types of Code Information (~10 min)
- Extract Code Information for a whole project (~15 min)
- Batch an LLM to generate Java unit tests from each row (~15 min)
- Format and run the project tests (~10 min)
Tutorial 5

MID SEMESTER BREAK#


Week Tutorial Handout
7 Automating LLM Calls
- API setup and text completion (~20 min)
- Integrate code knowledge into a prompt and generate tests (~25 min)
- Format and save results (~15 min)
- Extension: Embedding and fine-tuning (reference only)
Tutorial 6
8 Analysis of LLM-Generated Tests
- Fix buggy LLM-generated tests (~15 min)
- Analyse causes of hallucination (~15 min)
- Strategies to reduce hallucination (~15 min)
- Assign groups (3 students per group) for Assignment 3 (~15 min)
Tutorial 7
9 Prompt Engineering
- Structured prompt introduction (~10 min)
- Design a structured prompt template (~15 min)
- Debug the template (~10 min)
- Dynamic template with placeholders (~10 min)
- Introduce fuzzing concepts in prompts (~15 min)
TBD
10 Iterative Generation
- Detect syntax errors with javac (~15 min)
- Parse error messages and refine (one round) (~20 min)
- Implement generate–run–regenerate loop (~20 min)
- A3 Task 5 preparation (~5 min)
TBD
11 Unit Test Metrics Calculation
- Test metrics: definitions and interpretation (~15 min)
- JaCoCo: setup and run (~25 min)
- Interpret JaCoCo report and pass rate (~10 min)
- LaTeX: brief introduction (~10 min)
TBD
12 Final Q&A
- Presentation for Assignment4 (~60 min)
Tutorial 11
bars magnifying-glass xmark