CS453 Automated Software Testing


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


This course is concerned with a broad range of software testing technique, with a heavy emphasis on automation, tools, and frameworks, as well as the research output 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.


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

Teaching Assistant


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 three trips that I am already committed to in Spring 2018. I was invited to speak at the 58th CREST Open Workshop on 27th February. I am the Program Co-chair for ICST 2018, which takes place from 9th to 13th of April. Finally, I am attending the biggest software engineering conference, ICSE 2018, in the last week of May to present papers and conduct meetings. I will try my best to keep the disruptions to the minimum; there may be one or two guest lectures where appropriate.

Since this is the first year I take over CS453, the list of topics and papers to read are flexible and may change.


  • Team 1: 20173222 박수민, 20173566 조영준, 20173493 임현수
  • Team 2: 20183334 안가빈, 20140543 조성빈, 20120615 옥지수
  • Team 3: 20173076 김범준, 20174293 배병일, 20160138 김유진, 20140400 이문영
  • Team 4: 20120613 오진석, 20130578 정기량, 20140367 원정호
  • Team 5: 20130065 김동낙, 20150186 김재욱, 20081322 이한길
  • Team 6: 20183664 현상원, 20176323 Andreas, 20186070 Caroline
  • Team 7: 20140512 정민규, 20150031 강현우, 20186038 Bilgehan
  • Team 8: 20183202 박건우, 20184174 Phan Duy Loc, 20150574 이아청


Team Project Deliverables

Each student should submit the following:

  • the team report
  • the individual report
  • the implementation: we will either accept KLMS upload, or a public repository link in the report (e.g. github or bitbucket repo)
  • The team report should include:
  • a precise description of the problem you attempted to solve
  • a clear description of how you tried to solve the problem
  • a result of experimental comparison of before and after: in other words, what benefits did your solution bring?

Additionally, each individual member should submit a separate individual report:

  • details of what you have contributed to the project
  • peer assessment of your team members (yourself not included)

Presentation is on 14th June at 6pm in the same classroom. Each group will have 20 minutes.

Paper List