About

Teaching · supervision · mentoring

Make complex systems learnable.

I teach software engineering and agentic systems through short feedback loops: explain a concept, build a small artifact, and test what it can actually do.

In the classroom

Build, inspect, revise.

I use programming exercises and test failures as teaching material. The goal is to make invisible assumptions visible, then give students a way to check them.

For teams

Turn a demo into a method.

Workshops help teams move from an exciting agent prototype to an evaluation loop with clear evidence, useful baselines, and feedback they can repeat.

For researchers

Make the claim testable.

I supervise projects that connect a research question to an executable artifact, a strong baseline, and an honest account of what the result does and does not show.

PhD supervision

Research with a path to practice.

Zhiqing Zhong

September 2023–present · co-supervisor

  • B.S., South China University of Technology
  • Publication at ICSE 2025
  • Visiting researcher at Aalto University

Mentoring

Where my mentees went next.

Ten junior researchers and students I mentored on research projects. All ten co-authored peer-reviewed papers with me at ICSE, ESEC/FSE, or ISSTA, and eight are now Ph.D. students.

  • Qiuyang MangGraph database testing and retromorphic testingNow: Ph.D. student, UC Berkeley
  • Jiayi YaoLog-based anomaly detectionNow: Ph.D. student, The University of Chicago
  • Haotian XieLog-based anomaly detectionNow: Ph.D. student, Rutgers University
  • Zhiqing ZhongAutomated log analysis and Python ecosystem deprecationNow: Ph.D. student, CUHK–Shenzhen (co-supervised, see above)
  • Jiaqi LiTesting of image captioning systemsNow: Ph.D. student, CUHK–Shenzhen
  • Yiyan HuAutomated testing of named entity recognition systemsNow: M.S. student, UC San Diego
  • Aoyang FangGraph database testingNow: Ph.D. student, CUHK–Shenzhen
  • Xinran QinAutomated testing of image captioning systemsNow: Ph.D. student, Sun Yat-sen University
  • Yixing YangTesting of image captioning systemsNow: M.S. student, Institut Polytechnique de Paris
  • Haowen YangPackage-level deprecation in the Python ecosystemNow: Ph.D. student, HKUST (Guangzhou)

Teaching experience

Courses taught at CUHK–Shenzhen.

  • CSC4001Software Engineering · 2024–25, semester 2
  • CSC4001Software Engineering · 2022–23, semester 2
  • DDA6050Analysis of Algorithms · 2022–23, semester 1
  • CSC4001Software Engineering · 2021–22, semester 2
  • CSC1001Introduction to Computer Science: Programming Methodology · 2021–22, semester 1

Invite me in

Planning a course, reading group, or workshop?

Share the audience and the problem you want them to leave able to solve.

Get in touch ↗