CS453 Automated Software Testing, Fall 14

Announcement

  • Final term exam on Dec 16 (Tues) 9:00-11:00 AM at N1 RM# 114
  • HW#6 deadline is postponed to Dec 5 (Friday)
  • Another make-up class 8:00-10:30 PM Dec 8th (Monday)
  • Make-up class 9:00-11:30 PM Nov 25 (Tuesday)
  • We will have a global lecture series on model checking and symbolic execution by Prof. Willem Visser (a pioneer of software model checking techniques). I highly recommend you to attend the class.
    • Time: Nov 24 (Mon) to 28 (Fri) 2:00 PM - 5:00 PM
    • Place: Osangsu seminar room @ the 4th floor of E3-1.
  • No class on Nov 18, 20 due to FSE.
  • Mid term exam on Oct 21 9:00-11:00 AM at N1 RM# 114

Administrative Information

  • Instructor: Moonzoo Kim

    Office: 2434 (located at the east wing)
    Phone: 042-350-3543
    E-mail: moonzoo @ c s . k a i s t . a c . k r
    Office hour: Tues 10:30 AM-1:30 PM
    (reservation e-mail would be preferred)

  • Teaching assistants: Shin Hong (hongshin@gmail.com) and Taehoon Kwak (thkwak@kaist.ac.kr)
  • Lecture hours: Tues & Thurs 9:00 - 10:15 AM
  • Lecture room: 114 (N-1)
  • Prerequisite: experience in C/C++/Java programming and linux/unix command-line utilities.
  • Grading: attendance/class participation/quiz: 20%, HW: 50%, midterm exam: 15%, final exam:15%
    • Late HW will be accepted with 10% penalty of the max score in 1 day, 30% penalty of the max score in 3 days. HW will not be accepted after then (i.e., HW that passes the hard deadline).
    • HW should be submitted both in hardcopy and softcopy (through email to TA). 10% penalty of the max score for missing hardcopy or softcopy unless explicitly written in HW.
      • Hint: many questions of exams are from the homework.
    • More than 8 absences of class will get F grade
      • To start early morning class on time, late attendance shall be considered as 1/3 absence.
  • The official language in the class is English. All students should submit homeworks in English; 10% penalty otherwise
  • Questions and answers can be done through Noah BBS
  • Excerpts from 강의평가
    • "실질적으로 써먹을 수 있는 내용을 많이 배워서 보람찼습니다"
    • "과제가 많이 어려운것 같았다. 과제에 대한 도움을 수업에서 좀 더 주었으면 좋겠다."

Syllabus

This class covers automated software verification/testing techniques. The goal of the class is to learn practical applications of advanced verification/testing techniques, not sophisticated theories. These automated techniques can provide high reliability for complex embedded software compared to traditional testing methods in a more productive way. This class utilizes various software verification/testing tools and learns their underlying mechanisms to produce verification results for the target software.

Course Material


Course Schedule

Part I: Program coverage criteria and program analysis tools

Part II: Model checking

Part III: Concolic testing (a.k.a., dynamic symbolic execution)


Homeworks