CS453 Automated Software Testing, Spring 2019


Shin Yoo shin.yoo@kaist.ac.kr Office: E3-1 Room 2405


This course is concerned with a broad range of software testing techniques, with a heavy emphasis on automation, tools, and frameworks, as well as the research outputs behind them. The topic will include, but are not limited to: black box testing/combinatorial testing, random testing, concepts of coverage, structural testing, mutation testing, regression testing, testability transformation, automated debugging, etc.


  • Strong programming skills: you are required to actively contribute to group and individual project, which involves serious implementation. There will be also a number of hands-on sessions where we will program together during the class.
  • Unix/Linux-savvy: you should be familiar with the usual build tools and Unix/Linux command line environments.
  • Git-aware: you will be required to submit a github repository as part of your project deliverable.
  • Ideally, CS350 Introduction to Software Engineering.
  • Also, ideally, a laptop you can bring to the classroom. If this becomes a problem, let me know.


  • Coursework: 30%
  • Midterm Exam: 30%
  • Project: 30%
  • Class Participation: 10%

Teaching Assistant

To be announced


We do not have a textbook per se, and the course will be based on slides and other reading material that are deemed appropriate. However, if you want to get broader sense for some of the topics dealt by this course, I recommend the following books and publications.

Lecture Schedule

I have a few trips I am obliged to make in Spring 2019:

We will do our best to minimise the disruption to the learning experience. The following schedule are tentative, and may change.


Team Project Deliverables

Paper List