Fall 2024, Senior Year

Professor Lin Tan

lintan@purdue.edu Be sure to add [CS408] to your email subject line.

Link Hub

Course Description

This course covers a broad spectrum of software testing topics, including fundamental software testing
concepts, faults, errors, failures, software quality, correctness, control flow graphs, regression and
integration testing, control and data flow, testing and testing tools, bug detection, code coverage including
graph coverage, logic coverage, input space partitioning, and syntax-based coverage (mutation testing),
subsumption and infeasibility, concurrency bugs, state-of-the-art testing and bug detection techniques, and
application of machine learning in software testing. Other topics such as bug prediction, program repair,
symbolic execution, and program analysis are likely to be covered.

Overall

General Class Info

  • No textbook required
    • Optional Textbook: Paul Ammann and Jeff Offutt. Introduction to Software Testing. Edition 2. Cambridge University Press, 2016.
  • AI tools are allowed to be used so long as you disclose that you have used such tools appropriately and that they do not plagiarize in your submissions
  • Grading is 44% projects, 38% Final, 18% midterm
    • Exams can be a mix of written and oral exam
    • FinalGrade = 0.44Projects + 0.38Final + 0.18*Midterm
  • You have 3 grace days for late submissions, after that you’re done. Missed projects get 0’s
  • 3 projects, 1 individual, 2 group